From fef5f83f26f01f2aad2606188ae71e7c070354fc Mon Sep 17 00:00:00 2001 From: dado Date: Sun, 27 Jul 2025 21:30:46 +0200 Subject: [PATCH] docker compose --- docker/009-compose.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docker/009-compose.md diff --git a/docker/009-compose.md b/docker/009-compose.md new file mode 100644 index 0000000..692c923 --- /dev/null +++ b/docker/009-compose.md @@ -0,0 +1,36 @@ +# 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: + +```yml +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`.