Docker Compose

Giới thiệu
Trong các dự án sử dụng Docker, việc quản lý nhiều container có thể trở nên phức tạp. Đây là lúc Docker Compose phát huy tác dụng, giúp bạn dễ dàng cấu hình, triển khai và quản lý các container một cách nhất quán. Với tệp cấu hình docker-compose.yml, bạn có thể định nghĩa và tự động hóa toàn bộ hệ thống chỉ với vài dòng lệnh. Hãy cùng khám phá cách sử dụng Docker Compose để tối ưu hóa quy trình làm việc của bạn!
File docker-compose.yml
gần giống ý nghĩa với file Dockerfile
đã tìm hiểu trong Sử dụng Dockerfile, là một file text, viết với định dạng YAML (Ain’t Markup Language, đọc nhanh định dạng Định dạng YML) là cấu hình để tử đó lệnh docker compose
sinh ra và quản lý các service (container), các network, các ổ đĩa … cho một ứng dụng hoàn chỉnh.
Các lệnh docker compose:
Tạo và chạy các thành phần định nghĩa trong docker-compose.yml
(các dịch vụ, image, container, mạng, đĩa …)
docker-compose up
Dừng và xóa: image, container, mạng, đĩa tạo ra bởi docker-compose up
docker-compose down
Theo dõi logs từ các dịch vụ
docker-compose logs [SERVICES]
Tuỳ chọn
docker-compose up -d <ten-dich-vu>
Lệnh này để chạy background
Example
Ở đây tôi sẽ ví dụ với một ứng dụng Zabbix hoàn chỉnh:
version: '3'
services:
zabbix-server-mysql:
image: zabbix-server-mysql:2023
ports:
- 10051:10051
networks:
zabbix-network:
ipv4_address: 192.168.200.4
restart: always
environment:
- DB_SERVER_HOST=mysql
- MYSQL_DATABASE=zabbixdb
- MYSQL_USER=zabbixuser
- MYSQL_PASSWORD=password
- MYSQL_ROOT_PASSWORD=password
- ZBX_JAVAGATEWAY=zabbix-java-gateway
- StartVMwareCollectors=5
zabbix-web-nginx-mysql:
image: zabbix-web-nginx-mysql:2023
ports:
- 80:8080
environment:
- ZBX_SERVER_HOST="zabbix-server-mysql"
- DB_SERVER_HOST="mysql"
- MYSQL_DATABASE="zabbixdb"
- MYSQL_USER="zabbixuser"
- MYSQL_PASSWORD="password"
- MYSQL_ROOT_PASSWORD="password"
networks:
zabbix-network:
ipv4_address: 192.168.200.5
restart: always
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:2023
networks:
zabbix-network:
ipv4_address: 192.168.200.3
restart: always
zabbix-agent:
image: zabbix-agent2:2023
networks:
zabbix-network:
ipv4_address: 192.168.200.6
restart: always
networks:
zabbix-network:
driver: bridge
ipam:
config:
- subnet: 192.168.200.0/24
gateway: 192.168.200.1
Docker Compose là công cụ mạnh mẽ giúp đơn giản hóa việc triển khai và quản lý nhiều container, đặc biệt trong các ứng dụng phức tạp. Bằng cách sử dụng file docker-compose.yml, bạn có thể tiết kiệm thời gian và giảm thiểu lỗi cấu hình. Hãy bắt đầu áp dụng Docker Compose vào dự án của bạn để nâng cao hiệu suất và hiệu quả làm việc ngay hôm nay!
Post Comment