docker run命令解释

小小码农 2021年08月17日 904次浏览

描述

在新容器中运行命令

使用规则

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

扩展

docker run命令首先在镜像上创建一个可写的容器层,然后使用指定的命令启动它。也就是说,docker run等同于先执行API /containers/create、再执行/containers/(id)/start。一个已停止的容器可以使用docker start 容器ID重新启动,并保留之前所有的更改。docker ps命令可以查看所有运行中的容器信息,docker ps -a命令可以查询全部容器信息,包括已经停止的容器信息。

OPTIONS

命令名称默认值描述
--add-host 添加一个自定义主机到IP的映射(host:ip)
--attach , -a附加到STDIN(标准输入)、STDOUT(标准输出)或STDERR(标准错误输出)
--blkio-weightBlock IO(相对权重),在10和1000之间,或0禁用(默认0)
--cap-add添加Linux权限(更多capabilities属性介绍)
--cap-drop删除Linux权限
--cgroup-parent允许设置用于所有容器的默认 cgroup parent
--cgroupnsAPI 1.41+
--cidfile将容器ID写入文件
--cpu-countCPU计数(仅限Windows)
--cpu-percentCPU百分比(仅限Windows)
--cpu-period限制CPU CFS(完全公平调度程序)周期
--cpu-quota限制CPU CFS(完全公平调度程序)配额
--cpu-shares,-cCPU份额(相对权重)
--cpuset-cpus允许执行的cpu (0- 3,0,1)
--cpuset-mems允许执行的MEMs (0- 3,0,1)
--detach,-d在后台运行一个容器并打印容器ID
--detach-keys重写分离容器的键序列
--device向容器添加主机设备
--device-cgroup-rule在cgroup允许的设备列表中添加一条规则
--device-read-bps限制从设备读取速率(每秒字节数)
--device-read-iops限制设备的读速率(IO/s)
--device-write-bps限制设备的写入速率(每秒字节数)
--device-write-iops限制设备的写速率(IO/s)
--disable-content-trusttrue默认可以pull所有镜像(如果设置false,则只pull签名镜像)
--dns指定容器使用的DNS服务器
--dns-opt设置DNS选项
--dns-option设置DNS选项
--dns-search指定容器DNS搜索域名
--domainname容器NIS域名
--entrypoint覆盖镜像的默认ENTRYPOINT
--env,-e设置环境变量
--env-file读入包含环境变量的文件
--expose公开端口或端口范围
--gpusAPI 1.40+ 要添加到容器中的GPU设备('all'以通过所有GPU)
--group-add添加其他要加入的组
--health-cmd命令来检查健康状态
--health-interval运行检查的时间间隔(ms
--health-retries需要报告不正常状态的连续失败
--health-timeout允许一次检查运行的最长时间(ms
--help打印使用帮助
--hostname,-h容器主机名
--initAPI 1.25+ 在容器中运行一个init来转发信号和获取进程
--interactive,-i即使没有连接,也保持STDIN打开
--io-maxbandwidth系统驱动器的最大IO带宽限制(仅限Windows)
--io-maxiops系统驱动器的最大IOps限制(仅限Windows)
--ipIPv4地址(如172.30.100.104)
--ip6IPv6地址(例如,2001:db8::33)
--ipc使用IPC模式
--isolation容器隔离技术
--kernel-memory内核内存限制
--label,-l设置容器上的元数据
--label-file读入以行分隔的标签文件
--link添加到一个容器的链接
--link-local-ip容器IPv4/IPv6链路本地地址
--log-driver容器的日志驱动程序
--log-opt日志驱动器选项
--mac-address容器MAC地址(例如,92:d0:c6:0a:29:33)
--memory,-m内存限制
--memory-reservation内存软限制
--memory-swapSwap limit等于memory + Swap: '-1'以启用无限的交换
--memory-swappiness-1调优容器内存交换性(0到100)
--mount将文件系统挂载到容器
--name为容器指定一个名称
--net将容器连接到网络
--net-alias为容器添加网络作用域别名
--network将容器连接到网络
--network-alias为容器添加网络作用域别名
--no-healthcheck禁用任何容器指定的HEALTHCHECK
--oom-kill-disable阻止因内存溢出杀死容器
--oom-score-adj容器被 OOM killer 杀死的优先级,范围是[-1000, 1000],默认为 0
--pid要使用的PID命名空间
--pids-limit调整容器pid限制(设置-1为无限)
--platformAPI 1.32+ 如果服务器支持多平台,则设置平台
--privileged将扩展权限授予该容器
--publish,-p将容器的端口发布到主机,主机端口与容器端口映射,格式为 host:container
--publish-all,-P将所有暴露的端口发布到随机端口
--pullmissing在运行之前拉取镜像("always"
--read-only将容器的根文件系统挂载为只读
--restartno在容器退出时应用重新启动策略
--rm当容器退出时自动删除容器
--runtime用于此容器的运行时
--security-opt安全选项
--shm-size/dev/shm大小
--sig-proxytrue代理向进程接收信号
--stop-signalSIGTERM停止容器的信号
--stop-timeoutAPI 1.25+ 停止容器的超时(以秒为单位)
--storage-opt容器的存储驱动程序选项
--sysctlSysctl选项
--tmpfs挂载tmpfs目录
--tty,-t分配一个pseudo-TTY(虚拟终端)
--ulimitUlimit选项(资源控制)
--user,-u用户名或UID(格式:<name
--userns要使用的用户名称空间
--uts要使用的UTS名称空间
--volume,-v绑定挂载卷
--volume-driver容器的可选卷驱动程序
--volumes-from从指定容器装入卷
--workdir,-w容器内的工作目录

Run命令

  • docker run -itd --name centos:centos7.9.2009 /bin/bash -c "echo Hello Docker\!"
    docker启动一个后台进程的容器