Docker命令系列(一):run命令,基于镜像创建容器

通过run命令创建一个新的容器(container)

命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

参数选项说明

参数选项

 

描述

--add-host  

添加自定义主机到IP的映射 (格式:host:IP) ,例如:

$ docker run --add-host=docker:10.180.0.1 --rm -it debian

root@f38c87f2a42d:/# ping docker

PING docker (10.180.0.1): 48 data bytes 56 bytes from 10.180.0.1: icmp_seq=0 ttl=254 time=7.600 ms

--attach , -a  

登录容器,关联到stdin stdout或stderr,例如:

 

--blkio-weight   Block IO(相对权重),介于10和1000之间,或0以禁用(默认为0
--blkio-weight-device   Block IO重量(相对设备重量) 
--cap-add   添加权限
--cap-drop   删除权限
--cgroup-parent   容器的可选父cgroup 
--cidfile   运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
--cpu-count   CPU计数(仅限Windows)
--cpu-percent   CPU百分比(仅限Windows) 
--cpu-period   限制CPU CFS(完全公平调度程序)周期 
--cpu-quota   限制CPU CFS(完全公平调度程序)配额 
--cpu-rt-period   以微秒为单位限制CPU实时周期 
--cpu-rt-runtime   以微秒为单位限制CPU实时运行时间 
--cpu-shares , -c   设置容器CPU权重,在CPU共享场景使用
--cpus   可以使用的CPU数目
--cpuset-cpus   设置容器可以使用哪些CPU,此参数可以用来容器独占CPU (0-3, 0,1)
--cpuset-mems   MEMs in which to allow execution (0-3, 0,1)
--detach , -d   指定容器运行于后台,并打印容器ID。其默认值为false
--detach-keys   Override the key sequence for detaching a container
--device   添加主机设备给容器,相当于设备直通
--device-cgroup-rule   Add a rule to the cgroup allowed devices list
--device-read-bps   Limit read rate (bytes per second) from a device
--device-read-iops   Limit read rate (IO per second) from a device
--device-write-bps   Limit write rate (bytes per second) to a device
--device-write-iops   Limit write rate (IO per second) to a device
--disable-content-trust true Skip image verification
--dns   指定容器的dns服务器
--dns-opt   Set DNS options
--dns-option   Set DNS options
--dns-search   指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
--entrypoint   覆盖image的入口点
--env , -e   指定环境变量,容器中可以使用该环境变量
--env-file   指定环境变量文件,文件格式为每行一个环境变量
--expose   指定容器暴露的端口,即修改镜像的暴露端口
--group-add   Add additional groups to join
--health-cmd   Command to run to check health
--health-interval   Time between running the check (ms|s|m|h) (default 0s)
--health-retries   Consecutive failures needed to report unhealthy
--health-start-period   API 1.29+
Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s)
--health-timeout   Maximum time to allow one check to run (ms|s|m|h) (default 0s)
--help   Print usage
--hostname , -h   指定容器的主机名
--init   API 1.25+
Run an init inside the container that forwards signals and reaps processes
--interactive , -i   打开STDIN,用于控制台交互。即使未连接,也保持stdin打开 
--io-maxbandwidth   Maximum IO bandwidth limit for the system drive (Windows only)
--io-maxiops   Maximum IOps limit for the system drive (Windows only)
--ip   IPv4 address (e.g., 172.30.100.104)
--ip6   IPv6 address (e.g., 2001:db8::33)
--ipc   IPC mode to use
--isolation   Container isolation technology
--kernel-memory   Kernel memory limit
--label , -l   Set meta data on a container
--label-file   Read in a line delimited file of labels
--link   指定容器间的关联,使用其他容器的IP、env等信息
--link-local-ip   Container IPv4/IPv6 link-local addresses
--log-driver   Logging driver for the container
--log-opt   Log driver options
--mac-address   Container MAC address (e.g., 92:d0:c6:0a:29:33)
--memory , -m   指定容器的内存上限
--memory-reservation   指定容器的内存软上限
--memory-swap   Swap limit equal to memory plus swap: ‘-1’ to enable unlimited swap
--memory-swappiness -1 Tune container memory swappiness (0 to 100)
--mount   Attach a filesystem mount to the container
--name   给容器分配名字,后续可以通过名字进行容器管理,links特性需要使用名字
--net  

容器网络设置,链接容器到一个网络。有如下值:

  • bridge 使用docker daemon指定的网桥
  • host //容器使用主机的网络
  • container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
  • none 容器使用自己的网络(类似--net=bridge),但是不进行配置
--net-alias   Add network-scoped alias for the container
--network   Connect a container to a network
--network-alias   Add network-scoped alias for the container
--no-healthcheck   Disable any container-specified HEALTHCHECK
--oom-kill-disable   Disable OOM Killer
--oom-score-adj   Tune host’s OOM preferences (-1000 to 1000)
--pid   PID namespace to use
--pids-limit   Tune container pids limit (set -1 for unlimited)
--platform   experimental (daemon)API 1.32+
Set platform if server is multi-platform capable
--privileged   指定容器是否为特权容器,特权容器拥有所有的capabilities
--publish , -p   暴露容器的端口给主机
--publish-all , -P   将所有公开端口发布到随机端口 
--read-only   Mount the container’s root filesystem as read only
--restart no

指定容器停止后的重启策略:

  • no:容器退出时不重启
  • on-failure:容器故障退出(返回值非零)时重启
  • always:容器退出时总是重启
--rm   指定容器停止后自动删除容器
--runtime   Runtime to use for this container
--security-opt   Security Options
--shm-size   Size of /dev/shm
--sig-proxy true 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
--stop-signal SIGTERM Signal to stop a container
--stop-timeout   API 1.25+
Timeout (in seconds) to stop a container
--storage-opt   Storage driver options for the container
--sysctl   Sysctl options
--tmpfs   Mount a tmpfs directory
--tty , -t   分配tty设备,该可以支持终端登录,默认值为false
--ulimit   Ulimit options
--user , -u   指定容器的用户或UID (格式: [:])
--userns   User namespace to use
--uts   UTS namespace to use
--volume , -v   给容器挂载存储卷,挂载到容器的某个目录
--volume-driver   Optional volume driver for the container
--volumes-from   给容器挂载其他容器上的卷,挂载到容器的某个目录
--workdir , -w   指定容器里的工作目录

参考:

Docker官网英文版run命令描述

Docker命令详解(run篇)

你可能感兴趣的:(Docker命令系列(一):run命令,基于镜像创建容器)