Cách dùng Trình tạo Docker Compose
- Chọn các dịch vụ dự án cần, ví dụ ứng dụng Node.js + Postgres + Redis + Adminer.
- Điều chỉnh cổng host, tên database và user. Mật khẩu được tạo ngẫu nhiên và lưu trong file
.env. - Giữ tùy chọn Healthchecks bật để ứng dụng chỉ khởi động sau khi database sẵn sàng nhận kết nối.
- Tải
compose.yamlvà.envvào thư mục dự án rồi chạydocker compose up -d.
File được tạo ra có những gì?
| Thành phần | Lý do có mặt |
|---|---|
Tag image đã ghim (postgres:17-alpine) | Build có thể tái lập — latest có thể nhảy sang major version mới và làm hỏng database của bạn. |
| Named volume | Dữ liệu được giữ lại sau khi chạy docker compose down và khi build lại container. |
healthcheck + depends_on: condition: service_healthy | Ứng dụng đợi đến khi database thực sự sẵn sàng, không chỉ là đã khởi động. |
Tham chiếu ${VAR} | Thông tin nhạy cảm nằm trong .env, không nằm trong file YAML bạn commit. |
Bind cổng 127.0.0.1: | Database truy cập được từ máy bạn nhưng không mở cho cả mạng. |
Không còn version: nữa
Khóa version: "3.8" ở cấp cao nhất đã lỗi thời trong Compose Specification mà Docker Compose v2 sử dụng — nó chỉ gây ra cảnh báo. File hiện đại bắt đầu trực tiếp bằng services: và thường được đặt tên là compose.yaml (tên docker-compose.yml cũ vẫn hoạt động).
Tên dịch vụ chính là hostname
Trong mạng Compose, các container gọi nhau bằng tên dịch vụ: ứng dụng kết nối tới postgres:5432, không phải localhost:5432. Trình tạo sẽ tự tạo DATABASE_URL và REDIS_URL cho ứng dụng theo cách này.
Công cụ liên quan
Chuyển lệnh docker run có sẵn thành một dịch vụ với Docker Run sang Compose, đặt Nginx phía trước ứng dụng bằng Trình tạo cấu hình Nginx, kiểm tra file .env với Trình kiểm tra file .env và tạo pipeline CI với Trình tạo GitHub Actions. Kiểm tra cú pháp YAML bằng công cụ chuyển YAML sang JSON.
Cũng được tìm dưới tên: tạo file compose.yaml, trình tạo docker-compose.yml, docker compose postgres, docker compose mysql, docker compose wordpress, docker compose redis, mẫu docker compose.
Các công cụ dùng kèm tốt với Trình tạo Docker Compose
- Tạo Kubernetes YAML — Nhập tên ứng dụng, image và cổng, bạn sẽ có ngay Kubernetes YAML sẵn sàng cho production: một Deployment với probe, giới hạn tài nguyên và security context được gia cố, cùng Service, Ingress có TLS, ConfigMap, Secret và HorizontalPodAutoscaler mà bạn chọn — tất cả trong một file, sẵn sàng cho kubectl apply.
- Kiểm tra YAML — Dán file Docker Compose, manifest Kubernetes, workflow GitHub Actions hoặc bất kỳ YAML nào để xác định chính xác lỗi, phát hiện các lỗi thường gặp và nhận bản đã định dạng gọn gàng.
- Trình tạo systemd Service — Chạy ứng dụng của bạn như một dịch vụ Linux đúng chuẩn, tự khởi động cùng hệ thống và tự restart khi bị crash.
- Tạo GitLab CI — Chọn stack của bạn và nhận ngay file .gitlab-ci.yml chạy được: cài đặt với caching, job lint và test, build kèm artifacts, Docker image đẩy lên GitLab registry, hoặc deploy GitLab Pages — với rules giúp pipeline chạy cho merge request và nhánh mặc định mà không bị trùng lặp.