A-A+
Docker run命令详解 -(run 中文详解)
docker命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Usage: Run a command in a new container
中文意思为:通过run命令创建一个新的容器(container)
- docker常用选项说明
-d, --detach=false
, 指定容器运行于前台还是后台,默认为false-i, --interactive=false
, 打开STDIN,用于控制台交互-t, --tty=false
, 分配tty设备,该可以支持终端登录,默认为false-u, --user=""
, 指定容器的用户-a, --attach=[]
, 登录容器(必须是以docker run -d启动的容器)-w, --workdir=""
, 指定容器的工作目录-c, --cpu-shares=0
, 设置容器CPU权重,在CPU共享场景使用-e, --env=[]
, 指定环境变量,容器中可以使用该环境变量-m, --memory=""
, 指定容器的内存上限-P, --publish-all=false
, 指定容器暴露的端口-p, --publish=[]
, 指定容器暴露的端口-h, --hostname=""
, 指定容器的主机名-v, --volume=[]
, 给容器挂载存储卷,挂载到容器的某个目录--volumes-from=[]
, 给容器挂载其他容器上的卷,挂载到容器的某个目录--cap-add=[]
, 添加权限,权限清单详见:http://linux.die.net/man/7/capabilities--cap-drop=[]
, 删除权限,权限清单详见:http://linux.die.net/man/7/capabilities--cidfile=""
, 运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法--cpuset=""
, 设置容器可以使用哪些CPU,此参数可以用来容器独占CPU--device=[]
, 添加主机设备给容器,相当于设备直通--dns=[]
, 指定容器的dns服务器--dns-search=[]
, 指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件--entrypoint=""
, 覆盖image的入口点--env-file=[]
, 指定环境变量文件,文件格式为每行一个环境变量--expose=[]
, 指定容器暴露的端口,即修改镜像的暴露端口--link=[]
, 指定容器间的关联,使用其他容器的IP、env等信息--lxc-conf=[]
, 指定容器的配置文件,只有在指定--exec-driver=lxc时使用--name=""
, 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字--net="bridge"
, 容器网络设置:- bridge 使用docker daemon指定的网桥
- host //容器使用主机的网络
- container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
- none 容器使用自己的网络(类似--net=bridge),但是不进行配置
--privileged=false
, 指定容器是否为特权容器,特权容器拥有所有的capabilities--restart="no"
, 指定容器停止后的重启策略:- no:容器退出时不重启
- on-failure:容器故障退出(返回值非零)时重启
- always:容器退出时总是重启
--rm=false
, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)--sig-proxy=true
, 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
示例
- 运行一个在后台执行的容器,同时,还能用控制台管理:
docker run -i -t -d ubuntu:latest
- 运行一个带命令在后台不断执行的容器,不直接展示容器内部信息:
docker run -d ubuntu:latest ping www.docker.com
- 运行一个在后台不断执行的容器,同时带有命令,程序被终止后还能重启继续跑,还能用控制台管理,
docker run -d --restart=always ubuntu:latest ping www.docker.com
- 为容器指定一个名字,
docker run -d --name=ubuntu_server ubuntu:latest
- 容器暴露80端口,并指定宿主机80端口与其通信(: 之前是宿主机端口,之后是容器需暴露的端口),
docker run -d --name=ubuntu_server -p 80:80 ubuntu:latest
- 指定容器内目录与宿主机目录共享(: 之前是宿主机文件夹,之后是容器需共享的文件夹),
docker run -d --name=ubuntu_server -v /etc/www:/var/www ubuntu:latest
文章来源:https://www.cnblogs.com/yfalcon/p/9044246.html
docker用法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker选项
名字,速记 | 默认 | 描述 |
--add-host |
添加自定义主机到IP映射(主机: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 |
API 1.25+ 限制CPU实时周期(以微秒为单位) |
|
--cpu-rt-runtime |
API 1.25+ 以微秒为单位限制CPU实时运行时间 |
|
--cpu-shares , -c |
CPU份额(相对权重) | |
--cpus |
API 1.25+ CPU数量 |
|
--cpuset-cpus |
允许执行的CPU(0-3,0,1) | |
--cpuset-mems |
允许执行的MEM(0-3,0,1) | |
--detach , -d |
在后台运行容器并打印容器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服务器 | |
--dns-opt |
设置DNS选项 | |
--dns-option |
设置DNS选项 | |
--dns-search |
设置自定义DNS搜索域 | |
--entrypoint |
覆盖图像的默认ENTRYPOINT | |
--env , -e |
设置环境变量 | |
--env-file |
读入环境变量文件 | |
--expose |
暴露端口或一系列端口 | |
--group-add |
添加其他组以加入 | |
--health-cmd |
运行以检查运行状况的命令 | |
--health-interval |
运行检查之间的时间(ms | s | m | h)(默认为0) | |
--health-retries |
报告不健康需要连续失败 | |
--health-start-period |
API 1.29+ 在开始运行状况重试倒计时之前初始化容器的开始时间段(ms | s | m | h)(默认为0) |
|
--health-timeout |
允许一次检查运行的最长时间(ms | s | m | h)(默认为0s) | |
--help |
打印用法 | |
--hostname , -h |
容器主机名 | |
--init |
API 1.25+ 在容器内运行init,转发信号并重新获得进程 |
|
--interactive , -i |
即使没有连接,也要保持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 |
内核内存限制 | |
--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-swap |
交换限制等于内存加交换:' - 1以启用无限制交换 | |
--memory-swappiness |
-1 |
调整容器内存swappiness(0到100) |
--mount |
将文件系统挂载附加到容器 | |
--name |
为容器指定名称 | |
--net |
将容器连接到网络 | |
--net-alias |
为容器添加网络范围的别名 | |
--network |
将容器连接到网络 | |
--network-alias |
为容器添加网络范围的别名 | |
--no-healthcheck |
禁用任何容器指定的HEALTHCHECK | |
--oom-kill-disable |
禁用OOM杀手 | |
--oom-score-adj |
调整主机的OOM首选项(-1000到1000) | |
--pid |
要使用的PID命名空间 | |
--pids-limit |
调整容器pids限制(设置-1为无限制) | |
--platform |
experimental(daemon)API 1.32+ 如果服务器具有多平台功能,则设置平台 |
|
--privileged |
为此容器授予扩展权限 | |
--publish , -p |
将容器的端口发布到主机 | |
--publish-all , -P |
将所有公开的端口发布到随机端口 | |
--read-only |
将容器的根文件系统挂载为只读 | |
--restart |
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目录 | |
--tty , -t |
分配伪TTY | |
--ulimit |
Ulimit选项 | |
--user , -u |
用户名或UID(格式:<name | uid> [:<group | gid>]) | |
--userns |
要使用的用户名称空间 | |
--uts |
要使用的UTS名称空间 | |
--volume , -v |
绑定一个卷 | |
--volume-driver |
容器的可选卷驱动程序 | |
--volumes-from |
从指定容器装载卷 | |
--workdir , -w |
容器内的工作目录 |
这里部分内容来源:https://docs.docker.com/engine/reference/commandline/run/
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏