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。粘贴的命令和文件不会被保存;只会记住你的显示偏好。
