Lộ trình tác vụ / từ đầu vào đến kết quả
Cách chuyển một lệnh docker run sang Compose
- 01
Dán lệnh docker run
Dành cho các lệnh shell POSIX nguyên văn nhắm tới container Linux. Tối đa 64 KiB UTF-8. Tệp env thô đòi hỏi Compose 2.30+. Đây là một bản nháp cấu hình; không có shell, Docker daemon hay image nào được thực thi hay kiểm tra. Dùng một lệnh docker run nguyên văn duy nhất. Thay các biến host bằng giá trị tường minh; đặt $ nguyên văn trong ngoặc đơn hoặc escape nó. Mở rộng shell, pipe, chuyển hướng, thay thế lệnh và ngắt dòng không escape không được hỗ trợ. Nối dòng bằng dấu gạch chéo ngược được hỗ trợ.
- 02
Chuyển thành một service Compose
Chuyển đổi name, ports, giá trị môi trường tường minh, tệp env thô, mount, restart, network, workdir, user, entrypoint và label. -i/-t (kể cả -it) trở thành stdin_open/tty. Tùy chọn ngắn chấp nhận giá trị viết liền và tùy chọn dài chấp nhận =value. Tùy chọn không rõ sẽ dừng việc chuyển đổi.
- 03
Kiểm tra YAML được tạo
Các đối số sau image giữ nguyên thứ tự và chuỗi rỗng trong danh sách lệnh. Một entrypoint không rỗng vẫn là một đối số; một entrypoint rỗng sẽ xóa nó. Dấu đô la nguyên văn được nhân đôi cho Compose, bảo toàn giá trị của chúng thay vì nội suy môi trường host. Mạng mặc định là bridge một cách tường minh. Bind mount giữ sự khác biệt giữa -v (có thể tạo thư mục host) và --mount (phải tồn tại sẵn).
- 04
Rà soát danh sách không hỗ trợ
Một tùy chọn không được hỗ trợ. Không có YAML một phần nào được tạo. Hãy dùng các tùy chọn được hỗ trợ liệt kê trong hướng dẫn; chuyển các đối số lệnh container ra sau image. --rm không được biểu diễn trong YAML. Hãy tự chọn vòng đời chạy/gỡ bỏ Compose phù hợp. -d/--detach là tùy chọn khởi chạy: dùng docker compose up -d khi phù hợp.
- 05
Sao chép hoặc tải xuống YAML
env_file dùng định dạng thô (Compose 2.30+) để bảo toàn dấu đô la và dấu ngoặc. Đường dẫn tương đối quy về cạnh compose.yaml. Nội dung tệp và biến chưa đặt không được kiểm tra; hãy rà soát môi trường thực tế. Named volume và mạng tùy chỉnh là các tham chiếu ngoài với tên gốc của chúng. Chúng phải tồn tại sẵn trước khi khởi chạy; không tài nguyên nào được tạo hay kiểm tra ở đây.