這個轉換器的作用
一個從快速實驗開始的 docker run 命令往往會增長:埠,音量,環境變數,網路,重啟策略。在某個時刻,它屬於compose.yaml。這個轉換器解析一個或多個 docker run 命令,併產生一個清潔的 Compose 檔案,每個命令有一個服務。它還可以逆向執行:貼上一個Compose檔案並獲取相應的docker run命令,這對於除錯單個服務或在沒有Compose的主機上執行它非常方便。解析發生在瀏覽器中。
使用方法
- 選擇 docker執行 → 編譯或 編譯 → docker執行。
- 貼上你的命令,每行一個。逆擊線的延續是好的,領先的
sudo被忽略了。 - 檢查生成的YAML。命名的卷和自定義網路在頂層自動宣告。
- 閱讀沒有Compose等價的選項的註釋。
- 複製輸出,儲存為
compose.yaml並執行docker compose up -d。
支援的選項
埠 (-p,--expose),環境 (-e,--env-file),體積和安裝 (-v,--mount,--tmpfs),網路 (--network,--network-alias,--ip,--hostname,--add-host,--dns,--link),重啟策略,使用者和工作目錄,入口點和命令,標籤,日誌驅動程式和選項,健康檢查 (--health-*),資源限制 (--memory,--cpus,--shm-size,--ulimit,--gpus),安全選項 (--privileged,--cap-add,--cap-drop,--security-opt,--read-only),裝置,sysctls,--init,--platform,--pull,-it等。
提示
- 服務名稱來自
--name;如果沒有,則使用影象名稱。 --rm和-d在 Compose 中沒有任何意義,並且被放下了音符。- 構建中的相對繫結 mounts 與構建檔案相對解決,而不是你的 shell 的目錄。使用
./data式路徑。 - 透過
-e傳遞的秘密最終是純文字。考慮將它們轉移到.env檔案,並引用${VAR}。