Nhà phát triển / Docker

Bộ chuyển đổi docker run sang Docker Compose

Chuyển đổi lệnh docker run thành tệp compose.yaml với cổng, ổ đĩa, biến môi trường, mạng, chính sách khởi động lại, health check, GPU và nhiều tùy chọn khác; hoặc chuyển một dịch vụ Compose ngược lại thành docker run. Các tùy chọn không có tương đương sẽ được liệt kê.

Bộ chuyển đổi docker run sang Docker Compose: Lệnh được tách theo cách shell thực hiện, bao gồm dấu ngoặc kép và ký tự thoát, sau đó mỗi tùy chọn được ánh xạ vào khóa Compose tương ứng: -p thành ports, -v và --mount thành volumes, -e thành environment, --restart, --network, --health-cmd thành healthcheck, --gpus thành một yêu cầu dành riêng cho thiết bị và khoảng bốn mươi tùy chọn khác. Các ổ đĩa và mạng có tên sẽ được thêm vào phần khai báo cấp cao nhất. Nhiều lệnh sẽ trở thành nhiều dịch vụ trong cùng một tệp. Các tùy chọn không có tương đương trong Compose sẽ được liệt kê thay vì âm thầm bị loại bỏ. Chạy 100% cục bộ trong trình duyệt của bạn, không có tệp nào được tải lên máy chủ.

Lượt chạy
Trong trình duyệt của bạn
Chi phí
Miễn phí · không cần đăng ký
Trạng thái khả dụng
Sẵn sàng sử dụng
Chuyển docker run sang ComposeXử lý cục bộ

Chạy hoàn toàn trong trình duyệt của bạn

compose.yaml

services:
  db:
    image: postgres:16
    container_name: db
    environment:
      - POSTGRES_PASSWORD=change-me
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    restart: unless-stopped
volumes:
  pgdata:

Sau khi chuyển đổi

Chạy docker compose config để kiểm tra tệp và xem tệp với các giá trị mặc định đã được điền, sau đó chạy docker compose up -d để khởi động. Hãy ghim phiên bản hình ảnh, chẳng hạn như postgres:16 thay vì latest, để việc khởi động lại không bất ngờ nâng cấp cơ sở dữ liệu.

Để đọc tệp ở định dạng khác, hãy chuyển đổi tệp bằng YAML sang JSON; đối với các tác vụ đã lên lịch trong vùng chứa, trình giải thích cron đọc được các biểu thức cron.

Volume và dữ liệu

Volume có tên, chẳng hạn như pgdata, được Docker quản lý và vẫn tồn tại sau docker compose down; đường dẫn như ./data là một thư mục trên máy chủ. Hãy sao lưu các volume có tên trước khi xóa chúng bằng docker compose down -v, vì lệnh này sẽ xóa chúng.

Cách sử dụng

  1. Dán một hoặc nhiều lệnh docker run; bạn có thể dùng dấu gạch chéo ngược để tiếp tục lệnh trên dòng kế tiếp.
  2. Đọc tệp compose.yaml và xem các tùy chọn không thể chuyển đổi.
  3. Sao chép hoặc tải xuống tệp, hoặc đổi chiều chuyển đổi để biến tệp Compose thành các lệnh docker run.

Quyền riêng tư và giới hạn

Mọi thứ đều chạy trong trình duyệt; các lệnh của bạn, vốn có thể chứa mật khẩu, không được tải lên.

Công cụ liên quan

Câu hỏi thường gặp

Tại sao nên dùng Compose thay vì docker run?

Tệp Compose ghi lại toàn bộ cấu hình ở một nơi để bạn có thể đọc, quản lý phiên bản và khởi chạy bằng docker compose up, thay vì lưu các lệnh dài trong lịch sử shell. Tệp này cũng khởi chạy nhiều vùng chứa cùng lúc với mạng và ổ đĩa của chúng.

Điều gì xảy ra với --rm và -d?

Compose không có --rm: vùng chứa được xóa bằng docker compose down. -d được chọn khi bạn chạy docker compose up -d, nên tùy chọn này không nằm trong tệp.

Tại sao các mạng được đánh dấu là external?

docker run --network sử dụng một mạng đã tồn tại, nên tệp đã chuyển đổi cũng tham chiếu đến mạng đó theo cách tương tự. Xóa external: true nếu bạn muốn Compose tự tạo mạng.

Tôi có nên giữ mật khẩu trong tệp không?

Bạn nên dùng env_file được giữ ngoài hệ thống quản lý phiên bản hoặc Docker secrets cho mật khẩu và khóa. Bộ chuyển đổi giữ lại nội dung có trong lệnh, vì vậy hãy xem lại phần environment trước khi đưa tệp vào kho mã.

Công cụ miễn phí · trong trình duyệt của bạn lượt chạy · không cần tài khoản