Junior
Cos'è Docker Compose?
sobes.tech AI
Risposta dell'AI
Strumento per definire e avviare applicazioni Docker multi-container. Permette di descrivere servizi, reti e volumi in un singolo file YAML e di avviarli con un solo comando.
Funzioni principali:
- Definizione di più servizi in un file.
- Creazione e avvio di tutti i servizi con un comando.
- Gestione del ciclo di vita dell'applicazione (avvio, arresto, riavvio, scalabilità).
- Interazione di rete tra i container.
- Applicazione della configurazione in tempo reale.
Esempio di file docker-compose.yml:
version: '3.8' # Versione del formato del file
services:
web: # Nome del servizio
image: nginx:latest # Immagine utilizzata
ports:
- "80:80" # Redirect delle porte
volumes:
- ./html:/usr/share/nginx/html # Mappatura dei volumi
app: # Nome di un altro servizio
build: . # Costruzione dell'immagine dal Dockerfile nella directory corrente
ports:
- "5000:5000"
depends_on: # Dipendenza da un altro servizio
- db
db: # Nome del servizio di database
image: postgres:latest
environment: # Variabili di ambiente
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
volumes: # Volumi definiti
data: # Volume nominato per i dati
Comandi:
docker-compose up: Avvia i container.docker-compose down: Ferma e rimuove i container.docker-compose build: Costruisce le immagini.docker-compose ps: Mostra lo stato dei container in esecuzione.
Vantaggi:
- Semplifica la gestione di applicazioni multi-container complesse.
- Garantisce la riproducibilità del deployment.
- Facilita lo sviluppo e il testing locale.