Docker Compose: Noțiuni de bază și utilizare

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 up

    Această comandă va porni containerele pentru serviciile definite în docker-compose.yml fișier.

  • Opriți și îndepărtați recipientele: docker-compose down

    Această comandă oprește și elimină toate containerele legate de proiect.

  • Lista containerelor care rulează: docker-compose ps

    Această comandă va afișa starea containerelor din proiect.

  • Vizualizați jurnalele de service: docker-compose logs

    Această 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.