Docker Compose là gì?

Docker Compose là một công cụ giúp bạn quản lý và chạy nhiều container Docker cùng lúc bằng cách định nghĩa chúng trong một file cấu hình duy nhất (docker-compose.yml).


✅ Giải thích ngắn gọn:

Docker Compose cho phép bạn mô tả toàn bộ hệ thống ứng dụng đa container (ví dụ: web + database + redis…) chỉ trong một file YAML, và chạy tất cả bằng một lệnh duy nhất.


📦 Khi nào cần dùng Docker Compose?

Khi ứng dụng của bạn gồm nhiều thành phần, ví dụ:

  • frontend (React, Vue…)

  • backend (Node.js, PHP, Python…)

  • database (MySQL, MongoDB…)

  • redis, nginx, v.v.

Thay vì chạy thủ công từng docker run, bạn chỉ cần:

docker-compose up

→ Tất cả container sẽ được tạo và kết nối mạng tự động.


🧱 File docker-compose.yml mẫu:

version: '3.8'

services:
  web:
    build: .
    ports:
      - "3000:3000"
    depends_on:
      - db

  db:
    image: postgres
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass

Giải thích:

  • services: danh sách các container (dịch vụ).

  • web: build từ thư mục hiện tại.

  • db: dùng image sẵn có từ Docker Hub (PostgreSQL).

  • depends_on: đảm bảo db khởi động trước web.


⚙️ Lệnh thường dùng với Docker Compose:

Lệnh Mô tả
docker-compose up Tạo và chạy tất cả dịch vụ.
docker-compose down Dừng và xóa toàn bộ container, mạng, volume.
docker-compose build Build lại image từ Dockerfile.
docker-compose logs Xem log của tất cả dịch vụ.
docker-compose exec Chạy lệnh trong container.

🎯 Lợi ích:

  • Dễ quản lý hệ thống phức tạp.

  • Đơn giản hóa quá trình phát triển, test, triển khai.

  • Cấu hình một lần, chạy mọi nơi.

  • Tự động kết nối mạng giữa các container.

Datalinks.vn

Hello các bạn, mình là Dương Nguyễn tác giả của blog này. Với gần 20 năm làm việc trong lĩnh vực CNTT, VT trong và ngoài nước, mong muốn được chia sẻ kiến thức và kinh nghiệm về database với các bạn đam mê và quan tâm đến lĩnh vực này. Đặc biệt là #OracleDatabase hoặc luyện thi #OCP database admin. Các bạn cần người đồng hành thì alo mình nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận