Giới thiệu về Docker Compose

Docker nâng cao

Mike Metzger

Data Engineering Consultant

Docker Compose là gì?

  • Công cụ dòng lệnh bổ sung cho Docker
  • Định nghĩa và quản lý ứng dụng nhiều container
  • Khai báo container, mạng và volume lưu trữ trong một tệp
    • compose.yml hoặc compose.yaml
    • Tệp cũ có thể là docker-compose.yaml
  • Dễ chia sẻ/trình diễn ứng dụng
Docker nâng cao

Ví dụ compose.yaml

# Define the services
services:

# Define the container(s), by name webapp: image: "webapp"
# Optionally, define the port forwarding ports: - "8000:5000"
# Define any other containers required redis: image: "redis:alpine"
Docker nâng cao

Khởi động ứng dụng

  • docker compose up
    • Trên hệ thống cũ: docker-compose up
    • docker compose -f <yaml> up
    • docker compose up -d
$ docker compose up

[+] Running 2/0 ✔ Network composetest_default Created ✔ Container composetest-redis-1 Created 0.0s ✔ Container composetest-web-1 Created 0.0s Attaching to redis-1, web-1 redis-1 | 1:C 11 Mar 2024 04:09:51.754 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo web-1 | * Serving Flask app 'app.py' web-1 | * Running on http://127.0.0.1:5000
Docker nâng cao

Kiểm tra trạng thái ứng dụng

  • docker compose ls
$ docker compose ls

NAME STATUS CONFIG FILES webapp running(2) /webapp/docker-compose.yml
Docker nâng cao

Dừng ứng dụng

  • docker compose down
    • docker-compose down
    • docker compose -f <yaml> down
$ docker compose down

[+] Running 3/3 ✔ Container composetest-redis-1 Removed 0.1s ✔ Container composetest-web-1 Removed 10.1s ✔ Network composetest_default Removed 0.1s
Docker nâng cao

Hãy luyện tập!

Docker nâng cao

Preparing Video For Download...