跳到主要內容
Toolars
探索

Docker Run 轉 Compose

Docker Run to Compose

把 docker run 的連接埠、環境變數、掛載與重啟策略等旗標轉為 Compose YAML,不支援的選項明確列出,不連線 Docker。

任務路徑 / 從輸入到結果

貼上 docker run 命令

回報問題

本機處理

處理說明

工具輸入在這台裝置上處理。

執行工具可能需要下載資源,帳號服務獨立運作。

正在準備離線使用…

隱私說明

任務路徑 / 從輸入到結果

如何把 docker run 命令轉換為 Compose

  1. 01

    貼上 docker run 命令

    適用於 Linux 容器的 POSIX shell 字面值命令,輸入最多 64 KiB UTF-8。raw 環境檔案需要 Compose 2.30+。輸出是設定草稿;不會執行或檢查 shell、Docker 服務或映像檔。請使用單一 docker run 字面值命令。主機變數請替換為明確的值;字面值 $ 請以單引號包住或反斜線跳脫。不支援 shell 展開、管線、重新導向、命令替換及未跳脫的換行,支援反斜線續行。

  2. 02

    轉換為 Compose 服務

    轉換名稱、連接埠、明確賦值的環境變數、raw 環境檔案、掛載、重新啟動策略、網路、工作目錄、使用者、進入點與標籤。-i/-t(包括 -it)對應 stdin_open/tty。短選項支援緊接的值,長選項支援 =value;未知選項會停止轉換。

  3. 03

    檢查產生的 YAML

    映像檔名稱後的參數依序寫入 command 清單並保留空字串。非空 entrypoint 保留為單一參數,空值會清除進入點。字面值美元符號會重複以避免 Compose 再次替換。預設網路明確設為 bridge。綁定掛載區分 -v(可建立主機目錄)與 --mount(路徑必須存在)。

  4. 04

    檢查不支援清單

    包含不支援的選項,未產生部分 YAML。請使用指南列出的選項;容器命令參數應放在映像檔名稱之後。--rm 不寫入 YAML,請自行選擇對應的 Compose 執行與刪除方式。-d/--detach 屬於啟動選項,需要時使用 docker compose up -d。

  5. 05

    複製或下載 YAML

    env_file 使用 raw 格式(需要 Compose 2.30+)保留美元符號與引號。相對路徑以 compose.yaml 所在目錄為基準。這裡不檢查檔案內容與未賦值變數,請核對實際環境。命名磁碟區和自訂網路依原名稱引用外部資源,啟動前必須已存在;這裡不會建立或檢查資源。

工具速覽

處理方式
在瀏覽器本機完成
輸入是否離開裝置
從不
資料保留
不儲存任何內容
價格
免費

你的輸入留在瀏覽器裡。

Docker Run 轉 Compose 使用經過驗證的本機執行路徑,不會建立隱藏的輸入或輸出歷史記錄。

本機執行

在目前瀏覽器分頁內執行。

無隱藏處理

使用中的工具資料絕不會成為 Toolars 的文件記錄。

無需帳戶

無需建立帳戶即可使用核心工作流程。登入後收藏才會同步至你的帳戶。

立即重設

關閉分頁,目前的工作資料即刻消失。

Docker Run 轉 Compose 究竟做什麼

同事的部署筆記是一長行 docker run——docker run -d --name web -p 8080:80 -e NODE_ENV=production -v /srv/data:/data:ro --restart unless-stopped nginx:1.27-alpine——而專案標準是 Compose;論壇回答裡有你正需要的參數,但不是 YAML 形式;舊腳本的容器參數在進入版本控制之前必須稽核。貼上這一列會得到一個 web 服務,連接埠對應、環境、唯讀磁碟區和重啟策略都排列整齊等待檢查,而 -d 被標為僅影響生命週期而不是被丟棄。這個轉換器在瀏覽器中把命令變成一個可檢查的服務——不連線守護程序、映像倉庫或 Docker 本身。

常見問題

哪些 docker run 參數會被轉換?
掛載不受支援或有衝突。-v 支援 source:/target[:ro|rw] 或 /target;--mount 支援 type=bind|volume、source/src、target/destination/dst、readonly/ro=true|false,磁碟區另支援 volume-nocopy=true|false。拒絕其他欄位與重複目標。
為什麼 --rm 和 -d 被列為不支援?
--rm 不寫入 YAML,請自行選擇對應的 Compose 執行與刪除方式。
Compose 服務的名稱是怎麼來的?
服務名在有 --name 時取自它,否則取自去掉映像倉庫路徑和標籤的映像參照:registry.example.com/team/nginx:1.27 會變成 nginx。小寫字母、數字、底線和連字號之外的字元會摺疊為連字號,結果為空時退回為 app。container_name 只在明確給出 --name 時才輸出。
映像之後的參數會怎樣?
字面值美元符號會重複以避免 Compose 再次替換。預設網路明確設為 bridge。
產生的 YAML 可以直接用於正式環境嗎?
raw 環境檔案需要 Compose 2.30+。
我的命令會上傳到別處嗎?
不會。解析和轉換完全在目前瀏覽器分頁內完成,命令不會被傳送或保留,也不需要帳號。

相關任務,而非死胡同。

無需返回完整索引,直接進入另一個專注的工作區。

URL 工作臺

URL Workbench

清理 URL 清單並保護簽名連結,逐行說明改動;比較網址組成並匯出 Sitemap。

編輯

JSON 查詢與展開

JSON Explorer

用 JSONPath 查詢、擷取欄位及往返展開 JSON Pointer,保留大整數精度。

檢查

JSON Schema 驗證器

JSON Schema Validator

本機驗證 Draft 7 或 2020-12,定位實例與規則錯誤;從多份樣本推斷 Schema。

檢查

HTML 發布整理

HTML Publishing

整理貼上的 HTML,保留清單、連結與表格語意,安全預覽改動。

發布