Docker Compose: საფუძვლები და გამოყენება

Docker Compose არის მძლავრი და პოპულარული ინსტრუმენტი, რომელიც გამოიყენება აპლიკაციების მართვისა და განსათავსებლად Docker. ის საშუალებას გაძლევთ განსაზღვროთ, დააკონფიგურიროთ და გაუშვათ მრავალი Docker კონტეინერი, როგორც ერთი პროექტი, რაც ამარტივებს აპლიკაციის განლაგებას და უზრუნველყოფს განვითარებისა და წარმოების გარემოს შორის თანმიმდევრულობას.

ქვემოთ მოცემულია რამდენიმე კონცეფცია და მაგალითი Docker Compose:

განსაზღვრეთ პროექტი docker-compose.yml ფაილის გამოყენებით

ფაილში docker-compose.yml შეგიძლიათ განსაზღვროთ თქვენი განაცხადისთვის საჭირო სერვისები. მაგალითად, PHP ვებ აპლიკაციის MySQL მონაცემთა ბაზის განსათავსებლად, შეგიძლიათ განსაზღვროთ ორი სერვისი შემდეგნაირად:

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  

ზემოთ მოცემულ კოდის ნაწყვეტში ჩვენ განვსაზღვრავთ ორ სერვისს: web და db. სერვისი web გამოიყენებს PHP 7.4-ს image, Apache მოუსმენს 80-ე პორტს და დაამონტაჟებს ./app დირექტორიას ჰოსტიდან /var/www/html დირექტორიაში container. სერვისი db გამოიყენებს MySQL 5.7-ს image და დააყენებს რამდენიმე გარემოს ცვლადს, რომელიც საჭიროა მონაცემთა ბაზისთვის.

 

Docker Compose ბრძანების გამოყენებით

მას შემდეგ, რაც პროექტს ფაილში განსაზღვრავთ docker-compose.yml, შეგიძლიათ გამოიყენოთ Docker Compose ბრძანებები სერვისების მართვისთვის.

  • დაიწყეთ პროექტი: docker-compose up

    ეს ბრძანება დაიწყებს ფაილში განსაზღვრული სერვისების კონტეინერებს docker-compose.yml.

  • გააჩერეთ და ამოიღეთ კონტეინერები: docker-compose down

    ეს ბრძანება აჩერებს და შლის პროექტთან დაკავშირებულ ყველა კონტეინერს.

  • გაშვებული კონტეინერების სია: docker-compose ps

    ეს ბრძანება აჩვენებს პროექტში კონტეინერების სტატუსს.

  • სერვისის ჟურნალის ნახვა: docker-compose logs

    ეს ბრძანება აჩვენებს პროექტში არსებული სერვისების ჟურნალებს.

 

გარემოს ცვლადები და პერსონალიზაცია

Docker Compose საშუალებას გაძლევთ გამოიყენოთ გარემოს ცვლადები სხვადასხვა გარემოს კონფიგურაციის მოსარგებად, როგორიცაა განვითარება და წარმოება. თქვენ შეგიძლიათ გამოიყენოთ გარემოს ცვლადები ფაილში docker-compose.yml და განსაზღვროთ მათი მნიშვნელობები შესაბამის .env ფაილებში.

მაგალითად, თუ გსურთ განსაზღვროთ გარემოს ცვლადი სერვისის პორტისთვის web, შეგიძლიათ დაამატოთ ხაზი ფაილს .env შემდეგნაირად:

WEB_PORT=8080

შემდეგ, ფაილში docker-compose.yml შეგიძლიათ გამოიყენოთ ეს გარემო ცვლადი შემდეგნაირად:

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

docker-compose up ბრძანების გაშვებისას web სერვისი 80-ის ნაცვლად მოუსმენს 8080 პორტს.

 

Docker Swam- თან ინტეგრირება

თუ გსურთ განათავსოთ თქვენი აპლიკაცია განაწილებულ გარემოზე, მრავალი კვანძით, Docker Compose შეგიძლიათ ინტეგრირება Docker Swarm. ეს საშუალებას გაძლევთ მართოთ სერვისები კლასტერში რამდენიმე კვანძში Docker.

ამ ინტეგრაციის გამოსაყენებლად, თქვენ უბრალოდ უნდა დაამატოთ --orchestrate ან პარამეტრები გარემოში --with-registry-auth გაშვებისას docker stack deploy ან ბრძანებების დროს. docker-compose up Swarm

 

Docker Compose არის სასარგებლო ინსტრუმენტი მარტივი და ეფექტური აპლიკაციის განვითარების, ტესტირებისა და განლაგებისთვის. ის ამცირებს განსხვავებებს განვითარებისა და წარმოების გარემოს შორის, უზრუნველყოფს პროგრამული უზრუნველყოფის განვითარების პროცესში თანმიმდევრულობას და ზრდის დეველოპერული გუნდების პროდუქტიულობას.