Docker / 容器

Docker Run 命令生成器先核对配置,再复制命令

填写镜像,按需添加端口、挂载与环境变量;右侧预览可用于 POSIX shell 的启动命令。

Docker Run 命令生成器

动作参数

端口

挂载

环境变量

命令预览

docker run \
  --detach \
  'nginx:alpine'

输出适用于 macOS、Linux 或 WSL 中的 POSIX sh。路径按字面处理,不展开变量或 ~。

配置只在当前浏览器中处理;不连接 Docker、不查询镜像,也不执行命令。

选项

每组最多 20 行。CPU:0.001–1024;内存:整数 b/k/m/g,至少 6 MiB;留空不设置。

命令预览已更新。

准备启动一个容器时,镜像名、端口和数据目录往往分别来自几份说明。Docker Run 命令生成器 把这些参数放到同一张表单里,让你逐项区分宿主机与容器的地址、路径和端口,减少从旧命令复制参数时留下的错误。

初始镜像是 nginx:alpine,默认后台运行,没有端口映射,也没有替你设置资源限制。工具保留镜像自己的启动命令。空白选项直接省略,不猜测数据库需要的密码、服务监听端口或宿主机目录。

为什么使用 Docker Run 命令生成器

用独立字段表达每个参数

Docker Run 命令生成器 将端口两端、挂载类型和变量键值分开处理,再生成带引号的独立参数。路径中的空格和单引号不必手工转义;修改任意命令配置时,已有结果立即过期,避免顺手复制上一版命令。

镜像、端口和挂载配置行汇入同一份终端命令预览。

导出前看清权限与暴露范围

勾选特权、挂载敏感目录或发布非回环地址的端口时,页面会显示具体警告。所有环境变量值在输入和结果中默认遮罩;只有明确选择显示后,才允许导出完整命令。遮罩用于避免旁人直接看到内容,不代表加密存储。

遮罩的环境变量和禁用的导出按钮旁,显示特权与主机挂载警告。

启动前容易忽略的三个决定

01

先选宿主机监听地址

新增端口行默认使用 127.0.0.1 与 TCP。清空地址表示所有接口,而不是自动选择一个私有地址。宿主机端口可以改变,容器端口仍须匹配镜像内服务实际监听的端口;表单不能替你探测该服务。

02

明确区分路径与命名卷

宿主机已有目录选择 bind,Docker 管理的存储选择 volume。新增挂载默认只读;需要写入数据库文件时应主动关闭只读,并核对源与目标。路径是 Docker 主机上的路径,不一定是打开网页这台电脑的路径。

03

集中修改时关闭自动生成

自动模式会在停止输入 350 ms 后重新生成。关闭后可一次编辑多行,再点生成命令或按 Ctrl/Cmd+Enter。示例、清空和删除行都先展示预览,应用后可撤销一次,恢复输入与结果。

参数如何组成启动命令

明确的端口映射

每一行对应一个 --publish 参数,包含 IPv4 地址、宿主机端口、容器端口与 TCP 或 UDP。同协议下相同宿主机端口的重叠绑定会被拒绝;不同协议可以使用相同数字。检查范围只涵盖当前配置,不会查询宿主机端口占用。

两种卷挂载方式

绑定挂载指向宿主机文件或目录,命名卷由 Docker 管理。结果使用显式类型的 --mount,可附加 readonly。规范化后相同的容器目标路径不能重复,避免多行配置相互覆盖。不存在的绑定源目录通常需要在运行前自行建立。

环境变量按原值传递

空格、等号、单引号和美元符号都保留在一个参数中。空值明确输出为 KEY=,同名键重复时会报错。工具不会读取本机环境,也不会把 $HOME 或命令替换表达式展开成另一段内容;你输入的值就是命令传递的字面值。

生命周期与资源限制

可以组合容器名、后台模式、交互终端、退出后删除、重启策略、CPU 和内存上限。--rm 与非 no 重启策略冲突时停止生成,不会偷偷替你取消选项。资源字段留空表示不额外设置上限,设置了数值也不代表宿主机已经预留对应容量。

支持范围与真实限制

只生成单容器命令
输出适用于 Linux、macOS 或 WSL 中的 POSIX shell,挂载路径采用 Linux 容器语义。不支持 PowerShell、CMD、导入旧命令、Compose、Dockerfile、覆盖启动命令或任意附加参数。不会执行 Docker、连接守护进程或查询镜像是否存在。
镜像与端口采用明确格式
镜像接受小写仓库路径、可选的域名或 IPv4 注册表及端口、标签和 sha256 摘要。不支持 IPv6 注册表、裸镜像 ID 或其他摘要算法。端口必须是 1–65535 的整数,不支持范围、随机发布、IPv6 绑定或 SCTP。
挂载路径不猜测也不展开
绑定源必须是绝对路径,目标必须是非根绝对路径。拒绝逗号、双引号、反斜杠、控制字符及 . 或 .. 路径段,避免 --mount 内部语法产生歧义。空格和单引号可以保留。命名卷名称为 2–255 个字母、数字、点、下划线或连字符,首位必须是字母或数字。
表单与数值上限
端口、挂载、环境变量各最多 20 行。单个文本值最多 4096 个 UTF-16 单元,合计最多 65536 个。CPU 范围为 0.001–1024,最多三位小数;内存使用整数及可选 b/k/m/g 后缀,至少 6 MiB,最多为有符号 64 位字节数的上限。超限会报错,不会静默截断。
遮罩与秘密管理有区别
环境变量默认隐藏时,含变量的结果不能复制或下载。选择显示后,导出的脚本包含真实值,这些值之后可能进入 shell 历史、进程信息或容器检查结果。变量名与目录路径不会被自动识别为秘密;本工具不是 Docker secrets 的替代品。
警告不能代替主机检查
敏感路径提示覆盖根目录、系统目录与用户目录;即使只读挂载 Docker socket,也需要审查。工具无法解析软链接、检查权限、判断镜像可信度或验证内核资源限制能力。可写绑定挂载和非回环端口的实际影响,需要在目标 Docker 主机上核对。

Docker Run 命令生成器 常见问题

Docker 中 -p 和 -P 端口映射有什么区别?

-p 指定一条明确的宿主机与容器端口映射;-P 会把镜像声明的端口发布到自动分配的宿主机端口。本工具只生成明确的 --publish 参数,不提供 -P 或随机端口。可以添加多行,但每行都要填写两端端口。

含有空格的环境变量应该怎样传给 Docker?

直接在变量值字段中输入原文,不要自行包一层 shell 引号。工具会对整个 KEY=value 参数加引号,保留空格、等号与单引号。$HOME 也会作为字面文本传递,不会读取本机目录;换行及控制字符会被拒绝。

Dockerfile 中能设置 --rm 和 --restart 吗?

这两个是启动容器时使用的运行参数,不是 Dockerfile 指令。需要自动重启的服务应保留容器,关闭退出后删除;临时任务可以选择 --rm,并将重启策略设为 no。表单发现两者冲突时会阻止生成。

Docker 命名卷和绑定挂载有什么区别?

命名卷由 Docker 按名称管理,适合让容器使用持久存储。绑定挂载直接连接到主机路径,容器可能读到主机文件,也可能在允许写入时改动它们。请明确选择类型;使用 --mount 时,缺少绑定源通常会导致运行报错,本页无法检查目录存在与否。

Docker run 和 Docker exec 有什么区别?

docker run 基于镜像创建并启动新容器;docker exec 在已经运行的容器里执行命令。本页只构建 run,保留镜像默认启动行为。如果是进入已有容器排查问题,应另行使用 exec,不能把容器名填进镜像字段替代该操作。

预览结果与 Docker 文档不一致?

核对后再把命令带到终端

用 Docker Run 命令生成器 完成配置核对,处理错误和风险提示,再根据目标主机的实际环境决定是否运行导出的命令。