Docker compose è un'utilità/strumento utilizzato per creare ed eseguire applicazioni costituite da più contenitori. Utilizza i file YAML per configurare i servizi applicativi. UN docker-compose.yml file è un file di configurazione che definisce come più contenitori Docker possono lavorare insieme come un singolo servizio. Può avviare tutti i servizi con un singolo ' docker-componi ” oltre a interrompere tutti i servizi utilizzando un singolo “ docker-componi giù ” comando. Inoltre, può anche essere utilizzato per aumentare i servizi selezionati quando richiesto.
Questo articolo spiegherà:
Qual è lo scopo di un file docker-compose.yml in Docker?
Lo scopo principale di un ' docker-compose.yml ” serve a semplificare il processo di distribuzione e gestione di applicazioni Docker multi-contenitore. Viene utilizzato anche per scopi aggiuntivi, come:
-
- Avvio e arresto di più container contemporaneamente.
- Specifica delle dipendenze del contenitore.
- Definizione e gestione delle connessioni di rete tra container.
- Gestione di volumi e altre risorse condivise tra container.
- Impostazione delle variabili di ambiente e altre opzioni di configurazione per i contenitori.
- Ridimensionamento dei contenitori verso l'alto o verso il basso secondo necessità.
Come utilizzare un file docker-compose.yml in Docker?
Per vedere come creare e utilizzare il file docker-compose.yml in Docker, segui le istruzioni dettagliate fornite.
Passaggio 1: crea il file di composizione
In Visual Studio Code creare un nuovo file denominato ' docker-compose.yml ”. Successivamente, configurare i servizi richiesti. Ad esempio, abbiamo configurato i seguenti servizi:
versione: '3'Servizi:
ragnatela:
immagine: nginx:latest
porti:
- '9090:80'
web1:
costruire: .
porti:
- '8080:80'
Nello snippet sopra:
-
- IL ' versione ” specifica la versione del formato di file Docker Compose da utilizzare. Qui stiamo usando la versione 3.
- IL ' Servizi Il tasto ” viene utilizzato per configurare i servizi di composizione. Qui, abbiamo configurato due servizi, ad esempio ' ragnatela ' E ' web1 ”.
- IL ' ragnatela ” il servizio utilizza il “ nginx: ultimo ” porta immagini e mappe “ 9090 ” sulla macchina host da portare “ 80 ” nel contenitore.
- IL ' web1 ” crea un'immagine dal file Docker nella “ . ” rubrica. E ' 8080:80 ” è la porta assegnata.
Passaggio 2: crea il file Docker
Ora, crea un altro file chiamato ' Dockerfile ” e incollare il codice seguente al suo interno:
DA nginx: ultimoPUNTO D'ENTRATA [ 'inginx' , '-G' , 'demone disattivato'; ]
Nello snippet sopra:
-
- IL ' DA L'istruzione ' viene utilizzata per definire un'immagine di base per il contenitore, ad esempio ' nginx: ultimo ”.
- IL ' PUNTO D'ENTRATA ” viene utilizzato per impostare il punto di esecuzione per il contenitore.
Passaggio 3: avviare Compose Services
Quindi, esegui ' docker-componi ” insieme al “ -D ” opzione per avviare il servizio di composizione in modalità distaccata:
docker-componi -D
Si può vedere che il servizio di composizione è stato avviato correttamente.
Passaggio 4: verifica
Ora, vai alle porte assegnate dell'host locale e verifica se i servizi sono in esecuzione nei contenitori o meno:
In porto” 9090 ', IL ' ragnatela ” il servizio utilizza il “ nginx: ultimo ” image ed eseguirlo.
In porto” 8080 ', IL ' web1 ” il servizio utilizza il file Docker per eseguire il “ nginx ' Immagine.
È così che possiamo configurare numerosi servizi ed eseguire più contenitori contemporaneamente utilizzando il file 'docker-compose.yml'.
Conclusione
IL ' docker-compose.yml ” consente agli sviluppatori di specificare tutti i contenitori e la loro configurazione, incluse immagini, porte, volumi, reti, ecc., in un unico file. Semplifica la creazione, l'avvio e l'arresto di più contenitori come parte di una singola applicazione. È utile per sviluppare, valutare e distribuire applicazioni che contengono più componenti necessari per comunicare tra loro. Questo articolo ha spiegato gli scopi del file 'docker-compose.yml' e il suo utilizzo in Docker.