Docker Run 命令助手
填写参数,实时生成可复制的 docker run 命令
后台运行-d
自动删除--rm
交互终端-i
:
=
:
请输入镜像名称以生成命令
docker run 常用参数速查
基础运行
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| -d, --detach | 后台运行容器 | docker run -d nginx | |
| --name | 指定容器名称 | docker run --name my-nginx nginx | |
| --rm | 停止后自动删除容器 | docker run --rm nginx | |
| -i, --interactive | 保持标准输入打开(交互模式) | docker run -i ubuntu | |
| -t, --tty | 分配伪终端 | docker run -t ubuntu | |
| -it | 以交互式终端运行(-i -t 组合) | docker run -it ubuntu bash | |
| -w, --workdir | 设置容器内工作目录 | docker run -w /app node | |
| --entrypoint | 覆盖镜像默认入口命令 | docker run --entrypoint sh nginx |
网络
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| -p, --publish | 将主机端口映射到容器端口 | docker run -p 8080:80 nginx | |
| -P, --publish-all | 暴露 Dockerfile 中所有 EXPOSE 端口到随机主机端口 | docker run -P nginx | |
| --network | 指定容器网络模式 | docker run --network host nginx | |
| --hostname | 设置容器主机名 | docker run --hostname web nginx | |
| --dns | 自定义 DNS 服务器 | docker run --dns 8.8.8.8 nginx | |
| --expose | 声明容器运行时开放的端口 | docker run --expose 8080 nginx | |
| --link | 链接到另一个容器(旧版方式) | docker run --link db:mysql app |
存储
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| -v, --volume | 挂载主机目录或数据卷到容器 | docker run -v /data:/app/data nginx | |
| --mount | 以更详细的语法挂载存储 | docker run --mount type=bind,src=/data,dst=/app/data nginx | |
| --tmpfs | 挂载 tmpfs 临时文件系统 | docker run --tmpfs /tmp:rw,noexec,nosuid,size=100m nginx | |
| --read-only | 将容器根文件系统设为只读 | docker run --read-only nginx |
环境变量
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| -e, --env | 设置环境变量 | docker run -e NODE_ENV=production node | |
| --env-file | 从文件读取环境变量 | docker run --env-file .env node |
资源限制
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| -m, --memory | 限制容器可用内存 | docker run -m 512m nginx | |
| --memory-swap | 限制内存加交换分区总量 | docker run -m 512m --memory-swap 1g nginx | |
| --cpus | 限制容器可用 CPU 核心数 | docker run --cpus 1.5 nginx | |
| --cpu-shares | 设置 CPU 相对权重 | docker run --cpu-shares 512 nginx | |
| --pids-limit | 限制容器内进程数 | docker run --pids-limit 100 nginx |
重启与生命周期
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| --restart | 设置容器退出后的重启策略 | docker run --restart unless-stopped nginx | |
| --stop-signal | 指定停止容器时发送的信号 | docker run --stop-signal SIGTERM nginx | |
| --stop-timeout | 设置停止容器前的等待秒数 | docker run --stop-timeout 30 nginx |
安全与权限
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| --privileged | 授予容器扩展权限 | docker run --privileged ubuntu | |
| --cap-add | 添加 Linux 能力 | docker run --cap-add NET_ADMIN ubuntu | |
| --cap-drop | 移除 Linux 能力 | docker run --cap-drop ALL ubuntu | |
| -u, --user | 指定运行用户 | docker run -u 1000:1000 nginx | |
| --group-add | 添加用户组 | docker run --group-add video nginx | |
| --security-opt | 设置安全选项 | docker run --security-opt no-new-privileges:true nginx |
日志与监控
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| --log-driver | 指定日志驱动 | docker run --log-driver json-file nginx | |
| --log-opt | 设置日志驱动选项 | docker run --log-opt max-size=10m nginx | |
| --health-cmd | 设置健康检查命令 | docker run --health-cmd "curl -f http://localhost/" nginx | |
| --health-interval | 设置健康检查间隔 | docker run --health-cmd "true" --health-interval 30s nginx |
其他常用
| Flag | 说明 | 示例 | 操作 |
|---|---|---|---|
| -l, --label | 为容器添加元数据标签 | docker run -l env=prod nginx | |
| --label-file | 从文件读取标签 | docker run --label-file labels.txt nginx | |
| --add-host | 添加主机到 IP 映射 | docker run --add-host example.com:127.0.0.1 nginx | |
| --device | 挂载主机设备到容器 | docker run --device /dev/sda:/dev/xvda ubuntu | |
| --ipc | 设置 IPC 命名空间 | docker run --ipc host ubuntu | |
| --pid | 设置 PID 命名空间 | docker run --pid host ubuntu |