docker run指令

docker run详细解答


root@i-uf68xge6r3ivl:~# docker run --help

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

Run a command in a new container

Options:
      --add-host list                  动态添加一条映射到/etc/hosts文件中
                                
  -a, --attach list                    Attach to STDIN, STDOUT or STDERR
  
      --blkio-weight uint16            限制容器读写权重,权重值在10~1000之间,0为关闭权重
	  								(该参数默认为0)默认,所有的容器对于 IO 操作都拥有相同优先级。


      --blkio-weight-device list     设置设备的权重,权重值在10~1000之间,且优先级高于
	   							  blkio.weigh (docker run --blkio-weight-device "/dev/sda:100" )
								  
      --cap-add list                   添加权限 http://linux.die.net/man/7/capabilities  
	  								(在docker容器内限制了大部分的linux权限,在之前,需要开启这些功能需要结
									   合--privileged开启特权模式才能使用这些参数,考虑到安全性,可以通过该参
									   数来开启指定的linux功能,若参数为all则默认开启所有linux权限)


      --cap-drop list                  删除权限 http://linux.die.net/man/7/capabilities  
	  
      --cgroup-parent string           配置容器的控制组,继承该控制组的资源限制模式
	  
      --cidfile string                 运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
	  								(若该文件存在,则会返回一个错误)           
	  
      --cpu-period int               与参数--cpu-quota配合使用,设定cpu从新分配资源的时间周期,
	  								时间周期结束后,会对cpu进行重新分配。
									
      --cpu-quota int                  与参数--cpu-period配合使用,设定容器在资源分配周期内占用cpu的
	  							     时间,若容器设定--cpu-quota=1000000 --cpu-period=500000,则该容器
									  在这个时间周期内权重为50%,容器的权重比,用来解决宿主机内若干容器的资
									  源抢占导致重要容器cpu性能不足的场景(Linux 的CFS模式)

      --cpu-rt-period int              限制 cpu-period量级微妙
	  
      --cpu-rt-runtime int            在一个cpu资源分配周期内,优先保证某容器的cpu使用的最大微秒
									  数。例如,默认周期为 1000000 微秒(1秒),设置 --cpu-rt-
									  runtime=800000 可确保使用实时调度程序的容器每 1000000 微秒可运行  	
									  800000 微秒,并保留至少 200000 微秒用于非实时任务

  -c, --cpu-shares int                 设置容器CPU权重,在CPU共享场景使用
  
      --cpus decimal                   设置容器使用cpu的数量,该参数为1.3新增参数用于快速设置容器对于cpu的占用
	  
      --cpuset-cpus string             设置容器可以使用哪些CPU,此参数可以用来容器独占CPU  
	  
      --cpuset-mems string             同参数--cpuset-cpus,但该参数是作用于NUMA 架构的 CPU


  -d, --detach                          容器运行于前台还是后台默认为false,如果为True,则输出containerID   
      
	  --detach-keys string           设置容器的键盘映射键位,在容器被链接到前台时,
									  若宿主机的键盘键位与容器键位冲突,可以使用该
									  指令对容器的键位进行重新映射
									  
      --device list                    添加主机设备给容器,相当于设备直通,将宿主机的设备映射至容器
	  
      --device-cgroup-rule list        将宿主机的设备添加到cgroup规则列表中
	  
      --device-read-bps list          以字节数/每秒的形式限制设备的读取速率
	  								(docker run --device-read-bps /dev/sda:100KB)
                                    
      --device-read-iops list         以每秒所执行IO操作的次数的形式限制设备的读取速率
                                      
      --device-write-bps list           以字节数/每秒的形式限制设备的写入速率
	  
      --device-write-iops list          以每秒所执行IO操作的次数的形式限制设备的写入速率
	  
      --disable-content-trust          忽略镜像的校验 (default true)
	  
      --dns list                        指定容器的dns服务器,默认和宿主一致
	  
      --dns-option list                 设置DNS选项,同修改/etc/resolv.conf文件
	  
      --dns-search list                 指定容器的dns搜索域名,默认和宿主一致,写入到容器
	  									的/etc/resolv.conf文件  
										
      --domainname string              Container NIS domain name
	  
      --entrypoint string               覆盖image的入口点  
  -e, --env list                      设置环境变量
  
      --env-file list                   指定环境变量文件,文件格式为每行一个环境变量
	  
      --expose list                   指定容器暴露的端口,即修改镜像的暴露端口  
	  
      --gpus gpu-request               GPU devices to add to the
                                       container ('all' to pass all GPUs)
									   
      --group-add list                为容器添加用户组
	  
      --health-cmd string              执行一个健康检查命令
	  
      --health-interval duration      设置健康检查的执行的间隔时间 (ms|s|m|h) (default 0s)
	  
      --health-retries int              健康检查命令失败重试的次数
	  
      --health-start-period duration   Start period for the container to
                                       initialize before starting
                                       health-retries countdown
                                       (ms|s|m|h) (default 0s)
									   
      --health-timeout duration        设置健康检查命令超时时间 (ms|s|m|h) (default 0s)
	  
      --help                           Print usage
  -h, --hostname string               容器的主机名
  
      --init                          使用init在容器中新增一个守护进程,来预防该容器出现僵尸进程的可能性
  -i, --interactive                    打开STDIN,用于控制台交互  
  
      --ip string                      IPv4 address (e.g., 172.30.100.104)
      --ip6 string                     IPv6 address (e.g., 2001:db8::33)
      --ipc string                     启用ipc命名空间。容器中进程交互采用了Linux进程间交互方法
	  								 (interprocess communication - IPC), 包括信号量、消息队列和共享内存等。
									   容器的进程间交互实际上还是host上具有相同pid命名空间中的进程间交互,因
									   此需要在IPC资源申请时加入命名空间信息,每个IPC资源有一个唯一的32位id。

      --isolation string              使用容器隔离
	  									default 与使用dockerd --exec-opt的参数默认效果相同
									  	process 使用linux内核命名空间进行隔离,该参数不支持windows环境。


      --kernel-memory bytes            限制该容器内核的内存使用
  -l, --label list                     设置该容器的元数据
  
      --label-file list                通过本地文件导入元数据至该容器
	  
      --link list                      指定容器间的关联,使用其他容器的IP、env等信息
	  
      --link-local-ip list              设置本地链路地址(link-local address)ip
	  
      --log-driver string             设置一个指定日志接受工具,用于动态收集日志。
	  								扩展阅读日志处理与log-driver实现
	  
      --log-opt list                    用于设置日志输出参数
	  
      --mac-address string             设置该容器mac地址 (e.g.,
                                       92:d0:c6:0a:29:33)
  -m, --memory bytes                   容器的内存上限  
  
      --memory-reservation bytes        软限制该容器的内存使用,当宿主机内存空闲时,该容器的内存
	  								  使用可以一定比例超出限制,但当宿主机内存紧张时,
									    会强制该容器内存使用限制在该参数之内
										
      --memory-swap bytes              内存交换分区大小限制。配合参数--memory使用,且最小内存交
	  								 换限制应该大于内存限制。该参数有4种情况:
									   (1)不设置--memory与该参数:则该容器默认可以用完宿舍机的所有内存和 
									   宿主机 swap 分区。
									   (2)设置--memory 50MB 不设置--memory-swap(默认为0):则--memory-
									   swap值等于限制内存大小,即该容器能够申请的最大内存为100MB。
									   (3)设置--memory 50MB --memory-swap为-1:则该容器最大可以申请的内存
									   为50MB+宿主机swap分区大小
									   (4)设置--memory 50MB --memory-swap 100MB:则该容器可以申请的最
									   大内存为100MB-50MB=50MB


      --memory-swappiness int          Tune container memory swappiness
                                       (0 to 100) (default -1)
									   
      --mount mount                      将文件系统挂载附加到容器
	  
      --name string                    指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字  
	  
      --network network                Connect a container to a network
	  
      --network-alias list             设置该容器在网络上的别名
	  
      --no-healthcheck                  禁止一切健康检查行为
	  
      --oom-kill-disable               设置是否禁止oom kill行为,若该容器因为需要大量请求内存,导致
	  								 宿主机内存不足或触发到内存限制,导致杀死该容器进程,若设置该参数为true
									   则会关闭这个检查
									   
      --oom-score-adj int              调整主机的OOM首选项(从-1000到1000)
	   						       不建议用户修改--oom-score-adj--oom-kill-disable
	  
      --pid string                      自定义设置该容器的pid namespace
	  
      --pids-limit int                 该参数值为整数,为限制该容器所能创建的最大进程数。
	  
      --privileged                    指定容器是否为特权容器,特权容器拥有所有的capabilities
	  								--privileged参数可以是容器使用宿主机的管理员权限,即root权限一般情况下不
									 用该参数
	  
  -p, --publish list                   Publish a container's port(s) to
                                       the host
									   
  -P, --publish-all                    Publish all exposed ports to
                                       random ports
									   
      --read-only                     设置该容器只读
	  
      --restart string                 指定容器停止后的重启策略:
                                            no:容器退出时不重启  
                                            on-failure:容器故障退出(返回值非零)时重启 
                                            always:容器退出时总是重启  
											
      --rm                              指定容器停止后自动删除容器(不支持以docker run -d启动的容器)  
	  
      --runtime string                指定该容器关联一个runtime的容器
	  
      --security-opt list              Security Options
	  
      --shm-size bytes                 设置/dev/shm/目录的大小
	  
      --sig-proxy                     设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
	  
									   
      --stop-signal string             停止带有信号的容器,在linux环境下输入kill -l,就可以看到所有信号名
	  									称,可以指定容器发出某种信号时停止该容器,
										譬如SIGKILL (default "SIGTERM")
										
      --stop-timeout int               设置容器调用命令超时后自动退出。该参数可以设置容器在调用命令时
	                       	        导致超时后多少秒退出,0为永远不退出,该参数单位为秒
									
      --storage-opt list              设定该容器的存储空间,可以分别指定dm.basesize、
	  								dm.loopdatasize、dm.loopmetadatasize等项,指定单个容器可用数据空间、
										元数据可用数据空间。
										
      --sysctl map                     修改内核参数,对应修改容器中的/etc/sysctl.conf文件
	  
      --tmpfs list                    指定挂载一个tmpfs目录,tmpfs是一种虚拟内存文件系统。可以不经由镜
	  					            像直接创建一个容器
  -t, --tty                              分配tty设备,持终端登录默认为false  
  
      --ulimit ulimit                  设置容器的ulimit选项(default [])
	  
  -u, --user string                    该容器下添加新用户 (format:
                                       <name|uid>[:<group|gid>])
									   
      --userns string                 指定该容器运行在指定user namespace中
	  
      --uts string                     使用uts命名空间
	  
  -v, --volume list                     容器挂载存储卷,挂载到容器的某个目录  
  
      --volume-driver string           默认 volume loclal,主机上的一个目录 mount 到容器内的一个目
	  									录,不具备可移植性
										
      --volumes-from list              给容器挂载其他容器上的卷,挂载到容器的某个目录
	  
  -w, --workdir string                 容器的工作目录 
发布了67 篇原创文章 · 获赞 36 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_41861526/article/details/103414763