docker run 轉 docker-compose

🖥️ Docker Run to Compose Converter

Paste a docker run command and parse the image, ports, volumes, environment and restart policy into a docker-compose.yml snippet. Runs locally.

📐 工作原理與說明
把 docker run 命令轉換為 docker-compose 配置。
  • 對映:-p→ports、-v→volumes、-e→environment、--name→container_name、--network→networks。
  • 其他:映象名→image、命令→command、--restart→restart、--link→depends_on/links。
  • 解析:需處理引號包裹與反斜槓續行的多行命令。
  • 輸出:生成 YAML 時注意縮排一致與含特殊字元值的引號包裹。
⚠️ 使用說明與注意事項

📋 常用引數對照

docker runcompose 欄位
-p 8080:80ports: - "8080:80"
-v /d:/avolumes: - /d:/a
-e K=Venvironment: - K: "V"
--name webservice 鍵名 web
--restart alwaysrestart: always

📚 深度解析:Docker Run to Compose

💡 常見使用場景

轉換
`docker run -p 80:80 nginx` → compose `services.web.image=nginx ports=["80:80"]`。

❓ 常見問題(FAQ)

卷怎麼轉?
`-v` 轉為 volumes 對映。
哪些引數轉不了?
compose 與 run 的表達能力不完全對等:複雜網路配置、--security-opt 的細粒度項,以及 shell 裡的變數與管道都需要手工調整。轉換後務必用 docker compose config 校驗結構,並在測試環境實際啟動一次確認行為一致。