跳到主要内容
Toolars
探索

Docker Run 转 Compose

Docker Run to Compose

把单条 docker run 字面量命令转换为可审查的 Compose 服务草稿:名称、端口、环境变量、挂载、重启策略等均映射,-d 与 --rm 如实标注,不连接 Docker。

任务路径 / 从输入到结果

粘贴 docker run 命令

报告问题

本地处理

处理说明

工具输入在这台设备上处理。

运行工具可能需要下载资源,账号服务独立运行。

正在准备离线使用…

隐私说明

任务路径 / 从输入到结果

如何把 docker run 命令转换为 Compose

  1. 01

    粘贴 docker run 命令

    面向 Linux 容器的 POSIX shell 字面量命令,输入最多 64 KiB UTF-8。raw 环境文件需要 Compose 2.30+。输出是配置草稿;不会执行或检查 shell、Docker 服务或镜像。请使用单条 docker run 字面量命令。主机变量请替换为明确的值;字面量 $ 请用单引号包裹或反斜杠转义。不支持 shell 展开、管道、重定向、命令替换和未转义的换行,支持反斜杠续行。

  2. 02

    转换为 Compose 服务

    转换名称、端口、明确赋值的环境变量、raw 环境文件、挂载、重启策略、网络、工作目录、用户、入口命令和标签。-i/-t(包括 -it)对应 stdin_open/tty。短选项支持紧接的值,长选项支持 =value;未知选项会停止转换。

  3. 03

    检查生成的 YAML

    镜像名后的参数按顺序写入 command 列表,保留空字符串。非空 entrypoint 保留为单个参数,空值会清除入口。字面量美元符号会双写以避免 Compose 再次替换。默认网络明确设为 bridge。绑定挂载区分 -v(可创建主机目录)与 --mount(路径必须存在)。

  4. 04

    检查不支持列表

    包含不支持的选项,未生成部分 YAML。请使用指南列出的选项;容器命令参数应放在镜像名之后。--rm 不写入 YAML,请自行选择相应的 Compose 运行和删除方式。-d/--detach 属于启动选项,需要时使用 docker compose up -d。

  5. 05

    复制或下载 YAML

    env_file 使用 raw 格式(需要 Compose 2.30+)保留美元符号和引号。相对路径以 compose.yaml 所在目录为基准。这里不检查文件内容和未赋值变量,请核对实际环境。命名卷和自定义网络按原名称引用外部资源,启动前必须已存在;这里不会创建或检查资源。

工具速览

处理方式
在浏览器本地完成
输入是否离开设备
从不
数据保留
不保存任何内容
价格
免费

你的输入留在浏览器里。

Docker Run 转 Compose 使用经过验证的本地执行路径,不会创建隐藏的输入或输出历史记录。

本地执行

在当前浏览器标签页内运行。

无隐藏处理

使用中的工具数据绝不会成为 Toolars 的文档记录。

无需账户

无需创建账户即可使用核心工作流。登录后收藏才会同步到你的账户。

立即重置

关闭标签页,当前的工作数据即刻消失。

Docker Run 转 Compose 究竟做什么

同事的部署笔记是一长行 docker run——docker run -d --name web -p 8080:80 -e NODE_ENV=production -v /srv/data:/data:ro --restart unless-stopped nginx:1.27-alpine——而项目标准是 Compose;论坛回答里有你正需要的参数,但不是 YAML 形式;遗留脚本的容器参数在进入版本控制之前必须审计。粘贴这一行会得到一个 web 服务,端口映射、环境、只读卷和重启策略都排列整齐等待审查,而 -d 被标为仅影响生命周期而不是被丢弃。这个转换器在浏览器中把命令变成一个可审查的服务——不连接守护进程、镜像仓库或 Docker 本身。

常见问题

哪些 docker run 参数会被转换?
挂载不受支持或存在冲突。-v 支持 source:/target[:ro|rw] 或 /target;--mount 支持 type=bind|volume、source/src、target/destination/dst、readonly/ro=true|false,卷还支持 volume-nocopy=true|false。拒绝其他字段和重复目标。
为什么 --rm 和 -d 被列为不支持?
--rm 不写入 YAML,请自行选择相应的 Compose 运行和删除方式。
Compose 服务的名称是怎么来的?
服务名在有 --name 时取自它,否则取自去掉镜像仓库路径和标签的镜像引用:registry.example.com/team/nginx:1.27 会变成 nginx。小写字母、数字、下划线和连字符之外的字符会折叠为连字符,结果为空时回退为 app。container_name 只在明确给出 --name 时才输出。
镜像之后的参数会怎样?
字面量美元符号会双写以避免 Compose 再次替换。默认网络明确设为 bridge。
生成的 YAML 可以直接用于生产吗?
raw 环境文件需要 Compose 2.30+。
我的命令会被上传到别处吗?
不会。解析和转换完全在当前浏览器标签页内完成,命令不会被发送或保留,也不需要账号。

相关任务,而非死胡同。

无需返回完整索引,直接进入另一个专注的工作区。

URL 工作台

URL Workbench

清理 URL 列表并保护签名链接,逐行说明改动;比较地址组成并导出 Sitemap。

编辑

JSON 查询与展开

JSON Explorer

用 JSONPath 查询、提取字段及往返展开 JSON Pointer,保留大整数精度。

检查

JSON Schema 校验器

JSON Schema Validator

本地校验 Draft 7 或 2020-12,定位实例与规则错误;从多份样本推断 Schema。

检查

HTML 发布整理

HTML Publishing

整理粘贴的 HTML,保留列表、链接与表格语义,安全预览改动。

发布