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 არის სასარგებლო ინსტრუმენტი მარტივი და ეფექტური აპლიკაციის განვითარების, ტესტირებისა და განლაგებისთვის. ის ამცირებს განსხვავებებს განვითარებისა და წარმოების გარემოს შორის, უზრუნველყოფს პროგრამული უზრუნველყოფის განვითარების პროცესში თანმიმდევრულობას და ზრდის დეველოპერული გუნდების პროდუქტიულობას.