docker run 转 compose
转换器将冗长的 docker run 命令解析为结构化 docker-compose.yml,自动提取端口、卷挂载、环境变量与重启策略。适合把临时启动命令沉淀为可版本管理的编排文件,运维迁移单机容器到 Compose 项目。
docker run 命令转换为 docker-compose.yml 配置文件version: '3.9'
services:
web:
image: nginx:alpine
container_name: web
restart: unless-stopped
networks:
- mynet
ports:
- '8080:80'
- '443:443'
environment:
DB_HOST: db
DB_USER: root
volumes:
- /data:/var/www
关于 docker run 转 compose
一条又长又难记的 docker run 命令塞满了 -p、-v、-e 和各种参数,换台机器就得重新敲一遍。本工具在浏览器本地把 docker run 命令解析并转换成结构清晰的 docker-compose.yml,自动映射端口、卷、环境变量、网络等参数,便于版本管理和复用。整个解析过程在本机完成,命令中的密钥与路径不会上传。 建议在日常开发中收藏本工具,遇到数据格式转换需求时即可快速打开使用。所有转换均在浏览器本地完成,数据不会上传,可放心粘贴敏感内容,它适合把临时验证用的 docker run 固化成可版本管理的 compose 文件,方便团队复用与环境重建。整个解析在本机完成,命令中的密钥与路径不会上传,适合把运维脚本沉淀下来。
使用方法
- 打开 docker run 转 compose 工具页面
- 根据需求输入或粘贴数据到输入区域
- 查看实时处理结果,使用复制按钮获取输出
使用场景
- 固化部署 — 把临时的 docker run 转成 compose 文件,纳入仓库做版本管理。
- 迁移环境 — 把开发机上的运行命令转成 compose,在测试或生产环境一键复现。
- 梳理参数 — 把堆叠的命令行参数结构化,看清端口、卷和环境变量映射。
- 多容器编排 — 把几条独立的 run 命令转成 compose 服务,统一管理依赖。
- 文档沉淀 — 把口口相传的启动命令转成可读 YAML,写进部署文档。
常见问题
支持哪些 docker run 参数?
常用的 -p 端口、-v 卷、-e 环境变量、--name、--network、--restart、-d 等都能识别并映射到 compose 对应字段。极少见或最新加入的参数可能需要手动补充。
生成的是哪个 compose 版本?
通常输出兼容性较好的 v3 结构。你可以根据自己的 Docker 环境微调 version 字段,或删除该字段使用 Compose 规范的默认行为。
多个 -e 环境变量会怎么处理?
每个 -e 都会被解析为 environment 列表中的一项;若值里含等号或空格,请确保原命令已正确引号包裹,工具按原样保留。
能反向把 compose 转回 run 吗?
本工具目前只做 run 到 compose 的单向转换。反向转换涉及多服务拆分,逻辑复杂,暂不支持。
转换后能直接 docker compose up 吗?
大多数情况可以,但建议生成后通读一遍 YAML,确认卷路径、镜像标签和网络名称符合目标环境,再启动。
有浏览器兼容性要求吗?
本工具兼容所有现代浏览器(Chrome、Firefox、Edge、Safari),无需安装任何插件或扩展。
可以离线使用吗?
首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。
评论与讨论
评论仅保存在你的浏览器本地,切换设备后不可见。配置 Giscus 后可支持云端评论。