docker run 参数
Posted xiaobaiskill
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker run 参数相关的知识,希望对你有一定的参考价值。
一、格式
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
二、OPTIONS 参数
简写, 名称参数 | 默认参数 | 描述 |
---|---|---|
--add-host | 添加自定义主机到IP的映射(host:ip) | |
--attach , -a | 附加到STDIN,STDOUT或STDERR | |
--blkio-weight | IO(相对权重),介于10到1000之间,或者为0禁用(默认为0) | |
--blkio-weight-device | 块IO重量(相对设备重量) | |
--cap-add | 添加Linux功能 | |
--cap-drop | 放弃Linux功能 | |
--cgroup-parent | 容器的可选父cgroup | |
--cidfile | 将容器ID写入文件 | |
--cpu-count | CPU数量(仅Windows) | |
--cpu-percent | CPU百分比(仅Windows) | |
--cpu-period | 限制CPU CFS(完全公平的调度程序)期限 | |
--cpu-quota | 限制CPU CFS(完全公平的调度程序)配额 | |
--cpu-rt-period | 限制CPU实时时间(以微秒为单位) | |
--cpu-rt-runtime | 限制CPU实时运行时间(以微秒为单位) | |
-c, --cpu-shares | CPU份额(相对重量) | |
--cpus | CPU数量 | |
--cpuset-cpus | 允许执行的CPU(0-3,0,1) | |
--cpuset-mems | 允许执行的MEM(0-3,0,1) | |
-d, --detach | 在后台运行容器并打印容器ID | |
--detach-keys | 覆盖分离容器的键序列 | |
--device | 将主机设备添加到容器 | |
--device-cgroup-rule | 将规则添加到cgroup允许的设备列表中 | |
--device-read-bps | 限制从设备读取的速率(每秒字节数) | |
--device-read-iops | 限制从设备读取的速率(每秒IO) | |
--device-write-bps | 限制对设备的写入速率(每秒字节数) | |
--device-write-iops | 限制对设备的写入速率(每秒IO) | |
--disable-content-trust | true | 跳过图像验证 |
--dns | 设置自定义DNS服务器(例如: 8.8.8.8) | |
--dns-opt | 设定DNS选项 | |
--dns-option | 设定DNS选项 | |
--dns-search | 设置自定义DNS搜索域 | |
--domainname | 容器NIS域名 | |
--entrypoint | 覆盖图像的默认ENTRYPOINT | |
-e, --env | 设置环境变量 | |
--env-file | 读入环境变量文件 | |
--expose | 公开一个或多个端口(8080,8081) | |
--gpus | API 1.40+GPU设备添加到容器中(“全部”传递所有GPU) | |
--group-add | 添加其他群组即可加入 | |
--health-cmd | 运行命令以检查运行状况 | |
--health-interval | 运行检查之间的时间(ms | |
--health-retries | 需要连续报告不健康状况 | |
--health-start-period | API 1.29+ 容器在开始运行状况重试倒计时(ms | |
--health-timeout | 允许执行一次检查的最长时间(ms | |
--help | 打印用量 | |
-h, --hostname | 容器主机名(例如:例如:localhost) | |
--init | API 1.25+ 在容器内运行一个初始化程序,以转发信号并获取进程 | |
-i, --interactive | 即使未连接STDIN也保持打开状态 | |
--io-maxbandwidth | 系统驱动器的最大IO带宽限制(仅Windows) | |
--io-maxiops | 系统驱动器的最大IOps限制(仅Windows) | |
--ip | IPv4地址(例如172.30.100.104) | |
--ip6 | IPv6地址(例如2001:db8 :: 33) | |
--ipc | 使用的IPC模式 | |
--isolation | 集装箱隔离技术 | |
--kernel-memory | 内核内存限制 | |
-l, --label | 在容器上设置元数据 | |
--label-file | 读入行分隔的标签文件 | |
--link | 将链接添加到另一个容器 | |
--link-local-ip | 容器IPv4 / IPv6链接本地地址 | |
--log-driver | 容器的日志记录驱动程序 | |
--log-opt | 日志驱动程序选项 | |
--mac-address | 容器MAC地址(例如92:d0:c6:0a:29:33) | |
-m,--memory | 内存限制 | |
--memory-reservation | 内存软限制 | |
--memory-swap | 交换限制等于内存加交换:“-1”以启用无限交换 | |
--memory-swappiness | -1 | 调整容器内存交换(0到100) |
--mount | 将文件系统挂载附加到容器 | |
--name | 为容器分配一个名称 | |
--net | 网络模式(host, bridge) | |
--net-alias | 为容器添加网络范围的别名 | |
--network | 网络名(可以多个容器公用一个网络名,这样多容器会在同一个网络环境下) | |
--network-alias | 网络别名(未知) | |
--no-healthcheck | 禁用任何容器指定的健康检查 | |
--oom-kill-disable | 禁用OOM杀手 | |
--oom-score-adj | 调台主持人的OOM首选项(-1000至1000) | |
--pid | 使用的PID名称空间 | |
--pids-limit | 调整容器pids限制(将-1设置为无限制) | |
--platform | 实验(守护程序)API 1.32+ 如果服务器具有多平台功能,请设置平台 | |
--privileged | 赋予此容器扩展的特权 | |
-p, --publish | 将容器的端口发布到主机 | |
-P, --publish-all | 将所有公开的端口发布到随机端口 | |
--read-only | 将容器的根文件系统挂载为只读 | |
--restart | no | 容器退出时重新启动策略以应用(no |
--rm | 退出时自动删除容器 | |
--runtime | 用于此容器的运行时 | |
--security-opt | 安全选项 | |
--shm-size | / dev / shm的大小 | |
--sig-proxy | true | 代理接收到该过程的信号 |
--stop-signal | SIGTERM | 停止容器的信号 |
--stop-timeout | API 1.25+ 超时(以秒为单位)以停止容器 | |
--storage-opt | 容器的存储驱动程序选项 | |
--sysctl | Sysctl选项 | |
--tmpfs | 挂载tmpfs目录 | |
-t, --tty | 分配伪TTY | |
--ulimit | Ulimit选项 | |
-u, --user | 用户名或UID(格式:<名称 | |
--userns | 要使用的用户名称空间 | |
--uts | 使用的UTS名称空间 | |
-v,--volume | 绑定挂载卷 | |
--volume-driver | 容器的可选音量驱动器 | |
--volumes-from | 从指定的容器挂载卷 | |
-w,--workdir | 容器内的工作目录 |
三、案例
docker run -it hello_jmz echo "hello world"
# echo "hello world" 会覆盖hello_jmz 的CMD
docker run -d -p 8081:8080 -v ./hosts:/etc/hosts:ro --rm playgateway
# 后台运行并打印容器iD, 将容器的8080端口映射到主机的8081,将当前的host 文件挂载到容器的/etc/hosts,已只读的方式挂载. 结束自动删除容器
docker run --restart=always --network=my_net --name platformui platformpcweb
# 容器挂掉时总是重启, 容器名为platformui , 使用网络my_net, 没有会创建
docker run -it --rm centos bash
# 已交互的形式 进入centos 容器,退出后,删除容器
以上是关于docker run 参数的主要内容,如果未能解决你的问题,请参考以下文章