Cách dùng Docker Run sang Compose
- Dán lệnh
docker runđược sao chép từ README, lịch sử shell hoặc Docker Hub. Nhiều lệnh (mỗi dòng một lệnh hoặc cách nhau bằng dòng trống) sẽ thành nhiều service. - Các ký tự nối dòng
\(bash),`(PowerShell) và^(cmd) đều được xử lý, cùng với dấu nháy và--flag=value. - Kiểm tra phần cảnh báo: các flag không có tương đương trong Compose (như
--rm) sẽ được liệt kê. - Sao chép hoặc tải xuống
compose.yaml, rồi khởi chạy bằngdocker compose up -d.
Cách các flag của docker run ánh xạ sang Compose
| docker run | compose.yaml |
|---|---|
--name web | container_name: web (và key của service) |
-p 8080:80 | ports: ["8080:80"] |
-v data:/var/lib/x | volumes: + named volume data ở cấp cao nhất |
-e KEY=value, --env-file | environment:, env_file: |
--restart unless-stopped | restart: unless-stopped |
--network mynet | networks: [mynet] + external: true ở cấp cao nhất |
-it | stdin_open: true, tty: true |
--memory 512m --cpus 1.5 | mem_limit: 512m, cpus: 1.5 |
--health-cmd … | khối healthcheck: |
--gpus all | deploy.resources.reservations.devices |
Những điều cần kiểm tra sau khi chuyển đổi
- Đường dẫn tương đối — trong Compose,
./datađược tính từ file compose, không phải thư mục hiện tại trong shell của bạn. - Thông tin bí mật — chuyển mật khẩu từ
environmentsang file.envvà tham chiếu dạng${DB_PASSWORD}; kiểm tra bằng .env File Validator. - Thứ tự khởi động — tự thêm
depends_ongiữa các service; Docker Compose Generator có mẫu healthcheck. - --rm không có tương đương: Compose giữ các container đã dừng cho đến khi chạy
docker compose down.
Cũng được tìm dưới tên: docker run sang docker compose, chuyển docker run sang compose, docker run to compose converter, composerize, docker run sang yaml, tạo docker compose từ docker run.
Các công cụ dùng kèm tốt với Docker Run sang Compose
- Tạo Cấu Hình Nginx — Chọn việc Nginx cần làm — phục vụ site tĩnh hoặc SPA, proxy tới ứng dụng Node/Python, hoặc chạy PHP — rồi đánh dấu các tùy chọn thêm.
- YAML sang JSON — Dán YAML — file Compose, manifest Kubernetes hay cấu hình CI — và nhận JSON đã được định dạng.
- Chuyển cURL sang Code — Dán lệnh curl từ tài liệu API hoặc “Copy as cURL” trong DevTools của trình duyệt, rồi nhận ngay đoạn code chạy được cho sáu ngôn ngữ, giữ nguyên header, body và thông tin xác thực.
- Công cụ tính Chmod — Tick đọc, ghi và thực thi cho chủ sở hữu, nhóm và những người khác — hoặc nhập 755, rwxr-xr-x hoặc u=rwx,g=rx,o=rx.