Docker Compose este un instrument puternic și popular folosit pentru gestionarea și implementarea aplicațiilor bazate pe Docker. Vă permite să definiți, să configurați și să rulați mai multe Docker containere ca un singur proiect, simplificând implementarea aplicațiilor și asigurând coerența între mediile de dezvoltare și de producție.
Mai jos sunt câteva concepte și exemple de Docker Compose:
Definiți proiectul folosind fișierul docker-compose.yml
În docker-compose.yml fișier, puteți defini serviciile necesare aplicației dvs. De exemplu, pentru a implementa o aplicație web PHP cu o bază de date MySQL, puteți defini două servicii după cum urmează:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "80:80"
volumes:
- ./app:/var/www/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: my_database
În fragmentul de cod de mai sus, definim două servicii: web și db. Serviciul web va folosi PHP 7.4 image cu Apache, va asculta pe portul 80 și va monta ./app directorul de la gazdă în /var/www/html directorul din container. Serviciul db va folosi MySQL 5.7 image și va seta unele variabile de mediu necesare pentru baza de date.
Folosind Docker Compose comanda
Odată ce ați definit proiectul în docker-compose.yml fișier, puteți utiliza Docker Compose comenzi pentru a gestiona serviciile.
-
Începe proiectul:
docker-compose upAceastă comandă va porni containerele pentru serviciile definite în
docker-compose.ymlfișier. -
Opriți și îndepărtați recipientele:
docker-compose downAceastă comandă oprește și elimină toate containerele legate de proiect.
-
Lista containerelor care rulează:
docker-compose psAceastă comandă va afișa starea containerelor din proiect.
-
Vizualizați jurnalele de service:
docker-compose logsAceastă comandă arată jurnalele serviciilor din proiect.
Variabile de mediu și personalizare
Docker Compose vă permite să utilizați variabile de mediu pentru a personaliza configurațiile pentru diferite medii, cum ar fi dezvoltarea și producția. Puteți utiliza variabile de mediu în docker-compose.yml fișier și puteți defini valorile acestora în .env fișierele corespunzătoare.
De exemplu, dacă doriți să definiți o variabilă de mediu pentru portul serviciului web, puteți adăuga o linie la .env fișier astfel:
WEB_PORT=8080
Apoi, în docker-compose.yml fișier, puteți utiliza această variabilă de mediu astfel:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "${WEB_PORT}:80"
volumes:
- ./app:/var/www/html
Când rulează docker-compose up comanda, web serviciul va asculta pe portul 8080 în loc de portul 80.
Integrarea cu Docker Swam
Dacă doriți să implementați aplicația dvs. într-un mediu distribuit cu mai multe noduri, Docker Compose puteți integra cu Docker Swarm. Acest lucru vă permite să gestionați serviciile pe mai multe noduri dintr-un Docker cluster.
Pentru a utiliza această integrare, trebuie doar să adăugați opțiunile --orchestrate sau --with-registry-auth când rulați docker stack deploy sau docker-compose up comenzi într-un Swarm mediu.
Docker Compose este un instrument util pentru dezvoltarea, testarea și implementarea aplicațiilor ușoare și eficiente. Minimizează diferențele dintre mediile de dezvoltare și de producție, asigură coerența procesului de dezvoltare a software-ului și sporește productivitatea echipelor de dezvoltare.

