Docker Run ↔ Compose 转换器

将 docker run 命令转换为 Compose YAML 或反向转换,并附带转换结果报告

docker run 输入

最大 256 KB。命令只会被解析,绝不会被执行。

选项

缩进

Compose 输出

粘贴一条或多条 docker run 命令,或加载示例。
粘贴一条或多条 docker run 命令,或加载示例。
这个转换器能做什么?

它可以将 docker run 命令转换为 Compose 文件,也可以将 Compose 文件转换回 docker run 命令。两个方向都基于同一个规范化的容器模型,而不是简单的文本替换,因此端口、卷、环境变量、网络、健康检查、资源限制和引号都会被真正理解,而不是原样照搬。每个参数或键都会在报告中标记为精确、近似或不支持,不会有任何内容被悄悄丢弃。

使用方法
  1. 1.选择 Docker Run → Compose 或 Compose → Docker Run。
  2. 2.粘贴命令或 Compose 文件、打开文件,或加载示例。
  3. 3.选择 Compose 目标、缩进或命令布局。
  4. 4.查看输出下方的转换报告,然后复制或下载结果。
哪些内容可以精确转换

带主机 IP、端口范围和协议的端口;-v 和 --mount 卷;包含引号、空格和美元符号的环境变量;重启策略;带别名和静态 IP 的用户自定义网络;健康检查、日志、ulimits、capabilities、设备以及大多数资源参数。字面美元符号会变为 $$,以免 Compose 将其视为变量,而 $VAR 引用仍保留为变量。以空行、分号或 && 分隔的多条命令会生成多个服务,服务名优先取 --name,其次取镜像名称。

限制与隐私

depends_on、profiles、build、secrets、configs 以及大多数 deploy 设置没有对应的 docker run 参数,会在报告中列出而不会被转换。Compose 会为网络和卷加上项目名前缀,而 docker run 不会;报告会指出何时需要注意这一点。命令只会被解析,绝不会被执行,输入上限为 256 KB。粘贴的命令和文件不会被保存;只会记住你的显示偏好。

CodingTool 已正式上线于

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch