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 容器,退出后,删除容器
posted @ 2020-01-16 22:28  xiaobaiskill  阅读(5915)  评论(0编辑  收藏  举报