Chuyển đến nội dung
ToolMug

Đổi Docker Compose sang docker run

Dán compose.yaml hoặc docker-compose.yml để nhận lệnh docker run tương đương cho từng service — tiện khi khởi động container trên máy không có Compose hoặc muốn kiểm tra chính xác cách service chạy.

Chạy trong trình duyệt — không có dữ liệu nào bạn nhập bị tải lên

Docker Compose → docker run
Docker Compose
docker run

Cách sử dụng

  1. Dán tệp Compose bên trái hoặc nhấn Tải ví dụ.
  2. Lệnh docker run xuất hiện bên phải cho từng service theo thứ tự trong tệp.
  3. Xem ghi chú màu vàng về các trường chưa chuyển đổi (như build, deploy hoặc depends_on), rồi sao chép lệnh.

Giải thích tùy chọn

Trường hỗ trợ
image, container_name, command, entrypoint, ports, volumes (cú pháp ngắn và dài), environment, env_file, networks, network_mode, restart, user, working_dir, labels, logging, ulimits, healthcheck, giới hạn tài nguyên và hơn nữa.
Trường chưa chuyển đổi
Các trường chỉ có trong Compose như build, deploy, depends_on, secrets và configs được liệt kê trong ghi chú. Service không có image nhận tên image giữ chỗ; hãy tự build trước.
Nhiều network
docker run chỉ tham gia một network bằng --network; sau đó kết nối các network khác bằng docker network connect.

Ví dụ

Một service như thế này:

services:
  web:
    image: nginx:1.27
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
      - data:/var/cache/nginx
    environment:
      TZ: UTC
    restart: unless-stopped
    depends_on: [db]

trở thành:

docker run -d \
  --name web \
  -p 8080:80 \
  -v ./html:/usr/share/nginx/html:ro \
  -v data:/var/cache/nginx \
  -e TZ=UTC \
  --restart unless-stopped \
  nginx:1.27

depends_on không có tương đương trong docker run, nên nó được liệt kê trong phần ghi chú. Hãy tự khởi động các service mà nó nhắc tới, theo đúng thứ tự. Đường dẫn tương đối ./html được xác định theo thư mục bạn chạy lệnh, nên hãy chạy từ thư mục chứa thư mục đó.

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

Vì sao mọi lệnh đều có -d?

Compose thường chạy service nền (docker compose up -d), nên lệnh chuyển đổi cũng vậy. Xóa -d để xem đầu ra ở tiền cảnh.

Volume và network có tên có cần tạo trước không?

docker run tự tạo volume có tên còn thiếu, nhưng network tùy chỉnh phải tạo trước bằng docker network create <name>.

Tệp của tôi có được tải lên không?

Không. Phân tích và chuyển đổi chạy trong trình duyệt.

Quyền riêng tư

Công cụ này chạy hoàn toàn trong trình duyệt của bạn. Tệp và văn bản được xử lý ngay trên thiết bị và không bao giờ được tải lên máy chủ của chúng tôi.

Công cụ liên quan