Docker Compose转Run命令
将 docker-compose.yml 转换为 docker run 命令。支持端口、卷、环境变量、重启策略。浏览器本地处理,数据不上传。
功能特性
- ✓即时转换 —— 粘贴 docker-compose.yml,实时生成 docker run 命令
- ✓支持所有常用配置:ports、volumes、environment、restart、network_mode、container_name
- ✓处理卷挂载模式 —— 绑定挂载、命名卷、只读(:ro)和读写
- ✓支持环境变量的列表和映射两种格式,统一转换为 -e 标志
- ✓保留重启策略 —— always、unless-stopped、on-failure、no
- ✓生成整洁的 docker run 命令,标志顺序规范,可直接复制执行
- ✓多服务 compose 文件 —— 每个服务生成一条独立的 docker run 命令
- ✓默认添加 -d 标志,容器以后台模式运行
- ✓一键复制所有命令到剪贴板,或下载为 .sh 脚本文件
- ✓纯浏览器本地处理,compose 文件绝不上传到服务器
- ✓支持 compose v1、v2 和 v3 格式语法
- ✓状态栏显示检测到的服务数量和总命令长度
使用方法
- 1在输入区域粘贴 docker-compose.yml 内容 —— docker run 命令即时生成
- 2工具检测所有服务,为每个服务生成一条独立的 docker run 命令
- 3点击复制按钮将所有生成的命令复制到剪贴板
- 4使用保存按钮下载为 .sh shell 脚本文件,方便直接执行
- 5使用清除按钮重置输入和输出,开始新的转换
- 6点击输入框下方的示例按钮,查看常见转换场景
- 7compose 文件中的命名卷会提示 —— 可能需要先用 docker volume create 创建
- 8工具默认添加 -d 标志,容器以后台模式运行
- 9如果 compose 文件使用 depends_on,请检查原文件并按依赖顺序运行命令
常见问题
什么是 docker compose 转 docker run 转换?
∨
它将 docker-compose.yml 中的服务定义转换为独立的 docker run CLI 命令。compose 文件中的每个服务都会生成一条对应的 docker run 命令,所有选项(端口、卷、环境变量等)都会映射到相应的 CLI 标志。适用于需要在没有 compose 环境中运行单个服务、调试特定容器或在编排工具间迁移的场景。
支持哪些 compose 选项?
∨
工具支持所有常用选项:image、container_name、ports、volumes(绑定挂载和命名卷,含 :ro/:rw 模式)、environment(列表和映射两种格式)、restart 策略(always、unless-stopped、on-failure、no)、network_mode(host、bridge、none)、command、working_dir 和 user。
命名卷怎么处理?
∨
命名卷(如 pgdata:/var/lib/postgresql/data)会转换为 -v pgdata:/var/lib/postgresql/data 标志。工具还会为每个命名卷输出一条 docker volume create 命令,因为 docker run 不会像 docker compose 那样自动创建命名卷。
会自动添加 -d 标志吗?
∨
是的,默认所有生成的命令都包含 -d 标志,让容器以后台模式运行,匹配 docker compose 的典型行为。这符合大多数用户从 compose 转换到 run 命令时的预期。
多个服务怎么处理?
∨
compose 文件中的每个服务都会生成一条独立的 docker run 命令。命令按 compose 文件中的顺序输出。如果 compose 文件使用 depends_on,你应该按依赖顺序运行命令(例如,先启动数据库再启动应用)。
depends_on 怎么处理?
∨
decomposerize 库目前不会在输出中保留 depends_on 信息。你应该手动检查 compose 文件中的 depends_on 指令,并按正确顺序运行命令 —— 例如,先启动数据库再启动连接它的应用。docker compose 自动处理这个顺序,但使用 docker run 时需要手动管理。
支持网络配置吗?
∨
支持。compose 文件中定义的自定义网络会被标注,使用 network_mode: host、bridge 或 none 的服务会转换为 --net 标志。对于自定义桥接网络,你可能需要先用 docker network create 创建。
数据安全吗?
∨
完全安全。所有转换完全在浏览器中使用 JavaScript 完成,compose 文件绝不会发送到任何服务器。工具在页面加载后可离线使用。适合包含密码、API 密钥或内部主机名的敏感配置。
和 docker compose run 有什么区别?
∨
docker compose run 是 compose 的子命令,用于从 compose 文件运行一次性命令。此工具将 compose 文件转换为独立的 docker run 命令,不需要安装 compose CLI。适用于需要在没有 compose 的环境中运行容器,或需要将容器启动嵌入脚本的场景。
支持 compose v2 和 v3 吗?
∨
支持。工具处理 v1(含 version 字段)、v2 和 v3 格式的 compose 文件,也支持不包含 version 字段的现代「通用规范」格式。无论 compose 格式版本如何,转换逻辑都是相同的。
能在手机上使用吗?
∨
可以在移动浏览器上使用。但为了获得最佳体验(尤其是大型 compose 文件),推荐使用桌面浏览器,方便并排查看生成的命令和输入内容。