🐳

docker run 转 compose

将冗长的 docker run 命令解析为结构化 docker-compose.yml,自动提取端口、卷挂载、环境变量与重启策略。适合把临时启动命令沉淀为可版本管理的编排文件,运维迁移单机容器到 Compose 项目。

docker run 命令转换为 docker-compose.yml 配置文件
已转换
CLIDOCKER RUN 命令
YMLDOCKER-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 文件,纳入仓库做版本管理。
  • 迁移环境 — 把开发机上的运行命令转成 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),无需安装任何插件或扩展。

可以离线使用吗?

首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。