Docker seriyası IV hissə. Docker Compose nədir?

Compose, container –ləri və onların içində çalışmalı olan proqramları və servisləri tək bir komanda ilə qaldırmağa və ehtiyac olduqda dayandırmağa imkan verir. Birdən çox container -ə ehtiyac duyulduqda, bu container –lər arasında bağlantı yaradılmasına ehtiyac olduqda docker compose köməyimizə gəlir.

Compose, Container –də işləyəcək olan proqramların ehtiyac duyduğu bütün şəbəkə və storage konfiqurasiyalarını eynən Dockerfile –da olduğu kimi bir YAML formatında olan mətn faylında təyin etməyimizə imkan verir.

Docker Compose yüklənməsi:

Docker compose –un ən son versiyasın yükləyək:

$ sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

Executable permission təyin edək:

$ sudo chmod +x /usr/local/bin/docker-compose

Docker compose –un yükləndiyini test edək:

$  docker-compose

Docker Compose vasitəsi ilə Wordpress və MySql container quraq:

Öncə docker-compose.yml faylını yaradaq və docker compose faylının parametrlərini tanıyaq:

version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:

docker-compose.yml faylını analiz edərək Compose parametrləri ilə tanış olaq:

version: Docker Compose –un versiyası

services: Docker Compose tərəfindən idarə olunacaq servislər bu bölmədə tanıdılır.

db: db adlı servisimizi tanıdırıq. bu servis docker hub –dan mysql in 5.7 versiyasını endirəcək və /var/lib/mysql folderini db_data volume kimi tanıdacaq

environment: MySql containeri qalxdıqda onun üçün təyin edəcəyimiz dəyərlərdir.

wordpress: digər servisimizdir hansıki wordpress container –i quracaqdır:

depends_on: db adlı servisimizin işini tam bitirmədən wordpress adlı servisimizin icra olunmasının qarşısını alır.

ports: port yönləndirməsini təyin edir. Eynən Dockerfile –dakı kimi.

docker-compose.yml faylımızdan Containerlərimizi yarada

$  docker-compose up 
(docker-compose.yml faylının yerləşdiyi qovluqda)
-d option -un əlavə etsək docker arxa planda çalışacaqdır (daemon mode)

Yaratdığımız docker-compose.yml faylı əsasında image –lər yüklənib, container –lər yaranacaqdır.

Yaradılan container –lərə baxmaq üçün:

$ docker-compose ps

Brauzer üzərindən 8000 –ci porta müraciət edərək yoxlayaq:.

Wordpress quraraq həqiqətən problemsiz çalışdığına əmin olaq:

Məqalədə Docker Compose haqqında ilkin təsəvvür yaratmağa çalışdım. Docker Compose vasitəsi ilə daha kompleks işlər görmək mümkündür.

Docker Compose yüklənmə qaydası:

Docker Compose file reference: