Docker Run ↔ Compose 轉換器
將 docker run 指令轉換為 Compose YAML 或反向轉換,並附上轉換結果報告
貼上一或多個 docker run 指令,或載入範例。
這個轉換器能做什麼?
它能將 docker run 指令轉換為 Compose 檔案,也能將 Compose 檔案轉換回 docker run 指令。兩個方向都基於同一個正規化的容器模型,而非單純的文字替換,因此連接埠、磁碟區、環境變數、網路、健康檢查、資源限制與引號都會被真正理解,而不是原封不動地複製。每個旗標或鍵都會在報告中標示為精確、近似或不支援,不會有任何內容被默默捨棄。
使用方式
- 1.選擇 Docker Run → Compose 或 Compose → Docker Run。
- 2.貼上指令或 Compose 檔案、開啟檔案,或載入範例。
- 3.選擇 Compose 目標、縮排或指令版面。
- 4.查看輸出下方的轉換報告,然後複製或下載結果。
哪些內容能精確轉換
含主機 IP、連接埠範圍與協定的連接埠;-v 與 --mount 磁碟區;含引號、空格與錢字號的環境變數;重新啟動原則;含別名與固定 IP 的使用者定義網路;健康檢查、記錄、ulimits、capabilities、裝置以及大多數資源旗標。字面上的錢字號會變成 $$,避免 Compose 將其視為變數,而 $VAR 參照仍保留為變數。以空行、分號或 && 分隔的多個指令會產生多個服務,服務名稱優先採用 --name,其次採用映像檔名稱。
限制與隱私
depends_on、profiles、build、secrets、configs 以及大多數 deploy 設定沒有對應的 docker run 旗標,會列在報告中而不會被轉換。Compose 會為網路與磁碟區加上專案名稱前綴,而 docker run 不會;報告會指出何時需要注意這點。指令只會被解析,絕不會被執行,輸入上限為 256 KB。貼上的指令與檔案不會被儲存;只會記住你的顯示偏好設定。
