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 校验结构,并在测试环境实际启动一次确认行为一致。