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 容器,退出后,删除容器
原文地址:https://www.cnblogs.com/dancesir/p/14109143.html