任務路徑 / 從輸入到結果
如何把 docker run 命令轉換為 Compose
- 01
貼上 docker run 命令
適用於 Linux 容器的 POSIX shell 字面值命令,輸入最多 64 KiB UTF-8。raw 環境檔案需要 Compose 2.30+。輸出是設定草稿;不會執行或檢查 shell、Docker 服務或映像檔。請使用單一 docker run 字面值命令。主機變數請替換為明確的值;字面值 $ 請以單引號包住或反斜線跳脫。不支援 shell 展開、管線、重新導向、命令替換及未跳脫的換行,支援反斜線續行。
- 02
轉換為 Compose 服務
轉換名稱、連接埠、明確賦值的環境變數、raw 環境檔案、掛載、重新啟動策略、網路、工作目錄、使用者、進入點與標籤。-i/-t(包括 -it)對應 stdin_open/tty。短選項支援緊接的值,長選項支援 =value;未知選項會停止轉換。
- 03
檢查產生的 YAML
映像檔名稱後的參數依序寫入 command 清單並保留空字串。非空 entrypoint 保留為單一參數,空值會清除進入點。字面值美元符號會重複以避免 Compose 再次替換。預設網路明確設為 bridge。綁定掛載區分 -v(可建立主機目錄)與 --mount(路徑必須存在)。
- 04
檢查不支援清單
包含不支援的選項,未產生部分 YAML。請使用指南列出的選項;容器命令參數應放在映像檔名稱之後。--rm 不寫入 YAML,請自行選擇對應的 Compose 執行與刪除方式。-d/--detach 屬於啟動選項,需要時使用 docker compose up -d。
- 05
複製或下載 YAML
env_file 使用 raw 格式(需要 Compose 2.30+)保留美元符號與引號。相對路徑以 compose.yaml 所在目錄為基準。這裡不檢查檔案內容與未賦值變數,請核對實際環境。命名磁碟區和自訂網路依原名稱引用外部資源,啟動前必須已存在;這裡不會建立或檢查資源。