1.5 KiB
Compose
Docker Compose
è uno strumento di orchestrazione per Docker che permette di definire e eseguire applicazioni multi-container utilizzando un singolo file YAML, chiamato docker-compose.yml
. Questo file contiene tutte le informazioni necessarie per configurare e avviare tutti i servizi dello stack applicativo, incluse le reti e i volumi.
Facilita l'avvio, l'arresto e la gestione dei container.
Come si vede dall'esempio, vi é una corrispondenza 1:1 tra i parametri della linea di comando e il file di configurazione:
services:
php:
image: 'php:8.1-fpm'
container_name: php
volumes:
- './app:/var/www/html'
nginx:
image: 'nginx:latest'
container_name: nginx
ports:
- 8080:80
- 8443:443
volumes:
- './app:/var/www/html:ro'
- './config/nginx:/etc/nginx/conf.d'
depends_on:
- php
È importante notare che tutti i servizi definiti nello stesso file docker-compose.yml
sono automaticamente collocati nella stessa rete. Questo consente loro di comunicare tra loro senza la necessità di aprire porte specifiche.
Nell'esempio fornito, il container di nginx dipende da quello di php. Di conseguenza, nginx verrà avviato dopo php, garantendo che le dipendenze siano rispettate.
Gestione dello Stack
Per avviare lo stack Docker, è sufficiente eseguire il comando docker compose up -d
dalla stessa directory in cui si trova il file docker-compose.yml. Per arrestare i container, utilizzare invece docker compose down
.