Docker Compose: Bażi u Użu

Docker Compose hija għodda qawwija u popolari użata għall-ġestjoni u l-iskjerament ta' applikazzjonijiet ibbażati fuq Docker. Jippermettilek tiddefinixxi, tikkonfigura, u tħaddem Docker kontenituri multipli bħala proġett wieħed, li tissimplifika l-iskjerament tal-applikazzjoni u tiżgura l-konsistenza bejn l-ambjenti tal-iżvilupp u tal-produzzjoni.

Hawn taħt hawn xi kunċetti u eżempji ta Docker Compose ’:

Iddefinixxi l-proġett billi tuża l-fajl docker-compose.yml

Fil- docker-compose.yml fajl, tista' tiddefinixxi s-servizzi meħtieġa għall-applikazzjoni tiegħek. Pereżempju, biex tuża applikazzjoni tal-web PHP b'database MySQL, tista' tiddefinixxi żewġ servizzi kif ġej:

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  

Fis-snippet tal-kodiċi ta 'hawn fuq, aħna niddefinixxu żewġ servizzi: web u db. Is- web servizz se juża l-PHP 7.4 image b' Apache, jisma' fuq il-port 80, u jimmonta d- ./app direttorju mill-host fid- /var/www/html direttorju fil- container. Is- db servizz se juża l-MySQL 5.7 image u jistabbilixxi xi varjabbli ambjentali meħtieġa għad-database.

 

Bl-użu Docker Compose tal-kmand

Ladarba tkun iddefinit il-proġett fil- docker-compose.yml fajl, tista 'tuża Docker Compose kmandi biex timmaniġġja s-servizzi.

  • Ibda l-proġett: docker-compose up

    Dan il-kmand jibda l-kontenituri għas-servizzi definiti fil- docker-compose.yml fajl.

  • Waqqaf u neħħi l-kontenituri: docker-compose down

    Dan il-kmand jieqaf u jneħħi l-kontenituri kollha relatati mal-proġett.

  • Elenka kontenituri li qed jaħdmu: docker-compose ps

    Dan il-kmand se juri l-istatus tal-kontenituri fil-proġett.

  • Ara r-reġistri tas-servizz: docker-compose logs

    Dan il-kmand juri r-reġistri tas-servizzi fil-proġett.

 

Varjabbli ambjentali u customization

Docker Compose jippermettilek tuża varjabbli ambjentali biex tippersonalizza konfigurazzjonijiet għal ambjenti differenti, bħall-iżvilupp u l-produzzjoni. Tista' tuża varjabbli ambjentali fil- docker-compose.yml fajl u tiddefinixxi l-valuri tagħhom .env f'fajls korrispondenti.

Pereżempju, jekk trid tiddefinixxi varjabbli ambjentali għall-port tas- web servizz, tista 'żżid linja mal- .env fajl bħal din:

WEB_PORT=8080

Imbagħad, fil- docker-compose.yml fajl, tista 'tuża din il-varjabbli ambjentali bħal din:

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

Meta tħaddem il docker-compose up -kmand, is- web servizz se jisma' fuq il-port 8080 minflok il-port 80.

 

Integrazzjoni ma Docker Swam

Jekk trid tuża l-applikazzjoni tiegħek f'ambjent distribwit b'nodi multipli, Docker Compose tista 'tintegra ma' Docker Swarm. Dan jippermettilek timmaniġġja s-servizzi f'diversi nodi fi Docker cluster.

Biex tuża din l-integrazzjoni, għandek bżonn biss li żżid l- għażliet --orchestrate jew --with-registry-auth meta taħdem docker stack deploy jew docker-compose up tikkmanda f'ambjent Swarm.

 

Docker Compose hija għodda utli għall-iżvilupp, l-ittestjar u l-iskjerament ta' applikazzjoni faċli u effiċjenti. Jimminimizza d-differenzi bejn l-ambjenti tal-iżvilupp u tal-produzzjoni, jiżgura l-konsistenza fil-proċess tal-iżvilupp tas-softwer, u jsaħħaħ il-produttività tat-timijiet tal-iżvilupp.