一、格式

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 容器,退出后,删除容器