Docker
Docker
Verificare che Docker sia installato correttamente
NOTA: dispositivi Apple M1: al momento della stesura di questo documento sono presenti alcuni problemi sui dispositivi Apple M1 e su alcuni dispositivi ARM64/ARMv8. Consulti il forum di PowerShell Universal prima di procedere.
Docker
Esegua il comando seguente per verificare che Docker sia installato:
docker versionOutput di esempio:
Client: Docker Engine - Community
Version: 23.0.1
API version: 1.42
Go version: go1.19.5
Git commit: a5ee5b1
Built: Thu Feb 9 19:47:01 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.1
API version: 1.42 (minimum version 1.12)
Go version: go1.19.5
Git commit: bc3805a
Built: Thu Feb 9 19:47:01 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.18
GitCommit: 2456e983eb9e37e47538f59ea18f2043c9a73640
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Docker Compose
Docker Compose v1 utilizza il comando docker-compose. A partire da giugno 2023, il supporto per Docker Compose v1 è terminato.
Docker Compose v2 utilizza il comando docker compose.
Se utilizza Docker Compose v1, adatti i comandi di conseguenza. Maggiori informazioni su Docker Compose sono disponibili qui.
Esegua uno dei comandi seguenti per verificare che Docker Compose sia installato:
Docker Compose v1:
Docker Compose v2:
Output di esempio:
Un Hello-World di Docker
Per assicurarsi che Docker sia in grado di scaricare ed eseguire immagini di container, esegua il comando seguente:
Output di esempio:
Installazione
Utilizzo del container predefinito
Per eseguire PowerShell Universal, utilizzi l'immagine del container fornita. L'immagine Docker è disponibile su Docker Hub.
La versione predefinita supporta sia le funzionalità gratuite sia quelle a pagamento di PowerShell Universal.
Avvii il container scaricando l'immagine e quindi eseguendo un container con la porta predefinita associata.
Esecuzione di un'immagine di base
Presentare un'immagine su una porta diversa
Se la porta 5000 non è disponibile sul suo host, passi a un'altra porta.
es. presentazione sulla porta 80
Montare un volume
Il comando docker run consente di montare un volume per l'archiviazione persistente. Monti il volume nella cartella /root.
Montare un volume su un container in Windows
Il comando seguente monta la cartella C:\docker\volumes\PSU in /root sul suo container:
Montare un volume su un container su Mac e Linux
Il comando seguente monta la cartella /docker/volumes/PSU in /root sul suo container:
Arrestare un container
Il comando seguente rimuove un container arrestato denominato PSU:
Rimuovere un container
Il comando seguente arresta un container denominato PSU:
Il flag --force può rimuovere un container in esecuzione:
Docker Compose
Docker Compose consente di utilizzare un file di testo yaml per standardizzare la build e per creare uno script di distribuzione (o di build) di più container.
Il nome predefinito di un file compose è docker-compose.yml. Si consiglia di utilizzarlo come nome del file compose.
Creazione di uno script Compose per Windows
Il file compose seguente esegue un container Powershell Universal in Windows:
Creazione di uno script Compose per Mac / Linux
Il file compose seguente esegue un container Powershell Universal su Mac e Linux:
Avviare i container utilizzando gli script Compose
Utilizzando una shell Terminal o PowerShell per Windows. Usi il comando cd per cambiare la directory di lavoro con lo script docker-compose.yml.
Esegua il comando seguente:
Output di esempio:
Arrestare i container utilizzando gli script Compose
Utilizzando una shell Terminal o PowerShell per Windows. Esegua cd verso la directory con lo script docker-compose.yml.
Esegua il comando seguente
Output di esempio:
Utilizzo delle variabili di ambiente e della persistenza SQL
Può aggiungere variabili di ambiente negli script Compose. Di seguito un esempio di:
Impostazione di un nome del nodo
Aggiunta della persistenza SQL
Aggiunta di una stringa di connessione SQL
Utilizzo delle variabili di ambiente e della persistenza PostgreSQL
Può aggiungere variabili di ambiente negli script Compose. Di seguito un esempio di:
Impostazione di un nome del nodo
Aggiunta della persistenza PostgreSQL
Aggiunta di una stringa di connessione PostgreSQL
Creazione di un container personalizzato
Se desidera creare altre funzionalità, modificare o codificare in modo fisso le variabili di ambiente nel suo container, crei un Dockerfile
NOTA: i Dockerfile fanno distinzione tra maiuscole e minuscole e devono iniziare con la 'D' maiuscola.
Per creare un'immagine Docker in grado di rendere persistenti i dati di Universal, crei un dockerfile come quello riportato di seguito.
Questo Dockerfile espone la porta 5000, crea un volume /data, imposta le variabili di ambiente di configurazione per archiviare il repository e il database di Universal nel volume e quindi imposta Universal.Server come punto di ingresso del container.
Scrittura di uno script Dockerfile per Linux
Creazione di un container
Dal percorso che ospita il suo Dockerfile, esegua il comando seguente:
Windows
Esegua una build con il comando build:
Avvii il container Docker con il comando run e si assicuri di specificare il volume da montare:
SQL
Per utilizzare la persistenza SQL, definisca il plugin e la stringa di connessione come segue:
PostgreSQL
Per utilizzare la persistenza PostgreSQL, definisca il plugin e la stringa di connessione come segue:
Fusi orari
Per supportare correttamente i fusi orari su Linux durante la pianificazione dei job, includa il pacchetto tzdata nel suo dockerfile insieme a una variabile di ambiente che specifichi il fuso orario del server.
Tag
Pubblichiamo i seguenti tag su Docker Hub:
latest - Versione corrente basata su Ubuntu LTS
2026.x-<OS>-<PS> - Versione di produzione con le versioni di OS e PS specificate
2026.x-modules - Versione di produzione corrente su Ubuntu LTS con alcuni moduli AZ selezionati installati
4.x-<OS>-<PS> - Versione di produzione 4 corrente con le versioni di OS e PS specificate
Moduli inclusi
Le immagini dei container con moduli includono i seguenti moduli:
Az.Accounts
Az.Compute
Az.KeyVault
Az.Resources
Invoke-SqlCmd2
Riepilogo
Questa guida di base "Come iniziare" le consente di iniziare a eseguire o creare container PSU. Questa sezione di riferimenti riporta tutte le fonti dei comandi:
Riferimenti
Esecuzione dei container
https://docs.docker.com/engine/reference/commandline/run/
https://docs.docker.com/engine/reference/commandline/stop/
https://docs.docker.com/engine/reference/commandline/rm/
https://docs.docker.com/compose/
Creazione dei container
https://docs.docker.com/engine/reference/commandline/build/
Ultimo aggiornamento
È stato utile?