Docker Compose: Bazat dhe Përdorimi

Docker Compose është një mjet i fuqishëm dhe popullor që përdoret për menaxhimin dhe vendosjen e aplikacioneve të bazuara në Docker. Kjo ju lejon të përcaktoni, konfiguroni dhe ekzekutoni Docker kontejnerë të shumtë si një projekt i vetëm, duke thjeshtuar vendosjen e aplikacionit dhe duke siguruar qëndrueshmëri midis mjediseve të zhvillimit dhe prodhimit.

Më poshtë janë disa koncepte dhe shembuj të Docker Compose:

Përcaktoni projektin duke përdorur skedarin docker-compose.yml

docker-compose.yml skedar, ju mund të përcaktoni shërbimet e kërkuara për aplikacionin tuaj. Për shembull, për të vendosur një aplikacion ueb PHP me një bazë të dhënash MySQL, mund të përcaktoni dy shërbime si më poshtë:

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ë fragmentin e kodit të mësipërm, ne përcaktojmë dy shërbime: web dhe db. Shërbimi web do të përdorë PHP 7.4 image me Apache, do të dëgjojë në portin 80 dhe do ta montojë ./app direktorinë nga hosti në /var/www/html drejtorinë në container. Shërbimi db do të përdorë MySQL 5.7 image dhe do të vendosë disa variabla mjedisore të kërkuara për bazën e të dhënave.

 

Duke përdorur Docker Compose komandën

Pasi të keni përcaktuar projektin në docker-compose.yml skedar, mund të përdorni Docker Compose komanda për të menaxhuar shërbimet.

  • Filloni projektin: docker-compose up

    Kjo komandë do të nisë kontejnerët për shërbimet e përcaktuara në docker-compose.yml skedar.

  • Ndaloni dhe hiqni kontejnerët: docker-compose down

    Kjo komandë ndalon dhe heq të gjithë kontejnerët që lidhen me projektin.

  • Listoni kontejnerët që funksionojnë: docker-compose ps

    Kjo komandë do të shfaq statusin e kontejnerëve në projekt.

  • Shiko regjistrat e shërbimit: docker-compose logs

    Kjo komandë tregon regjistrat e shërbimeve në projekt.

 

Variablat e mjedisit dhe personalizimi

Docker Compose ju lejon të përdorni variablat e mjedisit për të personalizuar konfigurimet për mjedise të ndryshme, si zhvillimi dhe prodhimi. Mund të përdorni variabla të mjedisit në docker-compose.yml skedar dhe të përcaktoni vlerat e tyre në .env skedarët përkatës.

Për shembull, nëse dëshironi të përcaktoni një variabël mjedisi për portin e web shërbimit, mund të shtoni një rresht në .env skedar si kjo:

WEB_PORT=8080

Pastaj, në docker-compose.yml skedar, mund të përdorni këtë variabël mjedisi si kjo:

version: "3"  
services:  
  web:  
    image: php:7.4-apache  
    ports:  
   - "${WEB_PORT}:80"  
    volumes:  
   - ./app:/var/www/html  

Kur ekzekutoni docker-compose up komandën, web shërbimi do të dëgjojë në portin 8080 në vend të portit 80.

 

Integrimi me Docker Swam

Nëse dëshironi të vendosni aplikacionin tuaj në një mjedis të shpërndarë me nyje të shumta, Docker Compose mund të integroheni me Docker Swarm. Kjo ju lejon të menaxhoni shërbimet nëpër nyje të shumta në një Docker grup.

Për të përdorur këtë integrim, ju vetëm duhet të shtoni opsionet --orchestrate ose --with-registry-auth kur ekzekutoni docker stack deploy ose docker-compose up komandat në një Swarm mjedis.

 

Docker Compose është një mjet i dobishëm për zhvillimin, testimin dhe vendosjen e lehtë dhe efikase të aplikacioneve. Ai minimizon ndryshimet midis mjediseve të zhvillimit dhe prodhimit, siguron qëndrueshmëri në procesin e zhvillimit të softuerit dhe rrit produktivitetin e ekipeve të zhvillimit.