English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Dettagli di docker-compose e esempi di codice

Esempio di utilizzo di docker-compose

Utilizzare Docker per costruire un servizio MySQL + Java + Nginx, in totale 4 container Docker. Se si utilizza il metodo docker run per creare uno per uno i container, può essere molto fastidioso. Per creare container in modo più efficiente in batch, Docker ha introdotto lo strumento docker-compose, che richiede solo la definizione di un file docker-compose.yml per gestire rapidamente la creazione di un gruppo di container.

mysql:
 image: daocloud.io/yjmyzz/mysql-osx:latest
 volumes:
   - ./mysql/db:/var/lib/mysql
 ports:
   - 3306:3306
 environment:
   - MYSQL_ROOT_PASSWORD=123456
service1:
 image: java:latest
 volumes:
   - ./java:/opt/app
 esponi:
   - 8080
 #ports:
 #  - 9081:8080
 links:
   - mysql:default
 comando: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
service2:
 image: java:latest
 volumes:
   - ./java:/opt/app
 esponi:
   - 8080
 #ports:
 #  - 9082:8080
 links:
   - mysql:default
 comando: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
nginx1:
  image: nginx:latest
  volumes:
   - ./nginx/html:/usr/share/nginx/html:ro
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
   - ./nginx/conf.d:/etc/nginx/conf.d:ro
  #esponi:
  #  - 80
  ports:
   - "80:80"
  links:
   - service1:service1
   - service2:service2

Il contenuto non è complesso, vedere le spiegazioni dei termini chiave nell'articolo di riferimento alla fine.

Problema: Dove si trova questo file?

Vedi la struttura delle directory di seguito:

mysql-java-nginx
├── docker-compose.yml
├── java
│  └── spring-boot-rest-framework-1.0.0.jar
├── mysql
│  └── db
└── nginx
  ├── conf
  ├── conf.d
  │  └── default.conf
  ├── html
  │  └── index.html
  └── nginx.conf

Crea container:

cd mysql-java-nginx
docker-compose up

È così semplice, un up crea tutti i container, up viene utilizzato di solito per la creazione iniziale, puoi osservare i log in tempo reale del terminale per determinare se i container sono stati avviati correttamente, se non ci sono problemi, esci con Ctrl+C e poi

docker-compose start

Avvia i container in modalità di sfondo.  

Altri comandi includono:

Comandi:
 costruisci     Costruisci o ricostruisci servizi
 aiuto        Ottenere aiuto su un comando
 kill        Uccide i container
 logs        Visualizza l'output dai container
 pause       Pausa i servizi
 port        Stampa la porta pubblica per una binding di porta
 ps         Elenco dei container
 pull        Tira le immagini dei servizi
 restart      Riavvia i servizi
 rm         Rimuovi i container fermati
 run        Esegui un comando una tantum
 scale       Imposta il numero di container per un servizio
 start       Avvia i servizi
 stop        Ferma i servizi
 unpause      Riprende i servizi
 up         Crea e avvia i container
 migrate-to-labels Ricrea i container per aggiungere etichette
 version      Mostra le informazioni sulla versione di Docker-Compose

Di solito è sufficiente guardare il nome per capire il significato.  

Articoli di riferimento:

https://docs.docker.com/compose/compose-file/

Grazie per aver letto, spero di essere stato d'aiuto, grazie per il supporto al nostro sito!

Ti potrebbe interessare