Docker run命令用于运行一个新容器,而启动一个容器需要非常多的信息,所以该命令的参数非常多,今天就详细分析下该命令支持的参数。

首先看一下该命令的格式:

[html] view plain copy

  1. Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  2. -a, --attach=[]            登录容器(以docker run -d启动的容器)
  3. -c, --cpu-shares=0         设置容器CPU权重,在CPU共享场景使用
  4. --cap-add=[]               添加权限,权限清单详见:http://linux.die.net/man/7/capabilities
  5. --cap-drop=[]              删除权限,权限清单详见:http://linux.die.net/man/7/capabilities
  6. --cidfile=""               运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
  7. --cpuset=""                设置容器可以使用哪些CPU,此参数可以用来容器独占CPU
  8. -d, --detach=false         指定容器运行于前台还是后台
  9. --device=[]                添加主机设备给容器,相当于设备直通
  10. --dns=[]                   指定容器的dns服务器
  11. --dns-search=[]            指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
  12. -e, --env=[]               指定环境变量,容器中可以使用该环境变量
  13. --entrypoint=""            覆盖image的入口点
  14. --env-file=[]              指定环境变量文件,文件格式为每行一个环境变量
  15. --expose=[]                指定容器暴露的端口,即修改镜像的暴露端口
  16. -h, --hostname=""          指定容器的主机名
  17. -i, --interactive=false    打开STDIN,用于控制台交互
  18. --link=[]                  指定容器间的关联,使用其他容器的IP、env等信息
  19. --lxc-conf=[]              指定容器的配置文件,只有在指定--exec-driver=lxc时使用
  20. -m, --memory=""            指定容器的内存上限
  21. --name=""                  指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
  22. --net="bridge"             容器网络设置,待详述
  23. -P, --publish-all=false    指定容器暴露的端口,待详述
  24. -p, --publish=[]           指定容器暴露的端口,待详述
  25. --privileged=false         指定容器是否为特权容器,特权容器拥有所有的capabilities
  26. --restart=""               指定容器停止后的重启策略,待详述
  27. --rm=false                 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
  28. --sig-proxy=true           设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
  29. -t, --tty=false            分配tty设备,该可以支持终端登录
  30. -u, --user=""              指定容器的用户
  31. -v, --volume=[]            给容器挂载存储卷,挂载到容器的某个目录
  32. --volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录
  33. -w, --workdir=""           指定容器的工作目录

故障处理
--restart参数,支持三种逻辑实现:

[html] view plain copy

  1. </pre><pre name="code" class="html">no:容器退出时不重启
  2. on-failure:容器故障退出(返回值非零)时重启
  3. always:容器退出时总是重启

端口暴露

-P参数:docker自动映射暴露端口;

[html] view plain copy

  1. docker run -d -P training/webapp  <span style="color:#009900;">//docker自动在host上打开49000到49900的端口,映射到容器(由镜像指定,或者--expose参数指定)的暴露端口;</span>

-p参数:指定端口或IP进行映射;

[html] view plain copy

  1. docker run -d -p 5000:80 training/webapp  <span style="color:#009900;">//host上5000号端口,映射到容器暴露的80端口;</span>
  2. docker run -d -p 127.0.0.1:5000:80 training/webapp <span style="color:#009900;">//host上127.0.0.1:5000号端口,映射到容器暴露的80端口;</span>
  3. docker run -d -p 127.0.0.1::5000 training/webapp <span style="color:#009900;">//host上127.0.0.1:随机端口,映射到容器暴露的80端口;</span>
  4. docker run -d -p 127.0.0.1:5000:5000/udp training/webapp <span style="color:#009900;">//绑定udp端口;</span>

网络配置

[html] view plain copy

  1. --net=bridge: <span style="color:#009900;">//使用docker daemon指定的网桥</span>
  2. --net=host: <span style="color:#009900;">//容器使用主机的网络</span>
  3. --net=container:NAME_or_ID:<span style="color:#009900;">//使用其他容器的网路,共享IP和PORT等网络资源</span>
  4. --net=none: <span style="color:#009900;">//容器使用自己的网络(类似--net=bridge),但是不进行配置</span>

【docker】docker run命令详解相关推荐

  1. 容器编排技术 -- Kubernetes kubectl run 命令详解

    容器编排技术 -- Kubernetes kubectl run 命令详解 1 kubectl run 2 语法: 3 示例: 4 其它详细说明 kubectl run 创建并运行一个或多个容器镜像. ...

  2. Docker学习总结(22)——Docke run命令详解

    在Docker中,run应该是用户使用最多的命令了,很多读者反馈不是很明白run命令的用法,而且相关的书籍.中文资料中对run命令的描述也不是非常完整,所以DockerOne组织翻译了Docker官方 ...

  3. docker run 命令详解

    命令格式 Docker run命令用于运行一个新容器,而启动一个容器需要非常多的信息,所以该命令的参数非常多,今天就详细分析下该命令支持的参数. 首先看一下该命令的格式: Usage: docker ...

  4. Docker架构简介 命令详解

    1.1.Docker的介绍 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且 独立于宿 ...

  5. Docker应用容器引擎——docker的常用命令详解

    文章目录 1.Docker常用命令 2.docker的启动.停止.重启 3.管理命令 4.镜像管理 5.命令的详细演示 docker create docker start docker run do ...

  6. docker run命令详解

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]-a, ...

  7. docker build命令详解_Docker镜像与容器常用命令图文详解

    一.系统命令 #查看docker版本 docker version #查看docker的系统信息,包含镜像容器的数量 docker info #查看docker的所有命令 docker --help ...

  8. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  9. docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器

    本文你能学到什么 Docker 是什么 Docker 概念 关于 Docker 的概念是确实不太好总结,下面我通过四点向你说明 Docker 到底是个什么东西. Docker 是世界领先的软件容器平台 ...

最新文章

  1. java finally块_Java中的finally块是什么?
  2. 如何量化考核技术人的 KPI?
  3. hdu 3874(树状数组+离线算法)
  4. git submoule 更新_微软Surface Duo双屏手机键盘更新:支持分体式输入
  5. 修改Element-UI的组件样式
  6. python 爬虫工具 butter_GitHub - TheButterflyOdor/proxy_pool: Python爬虫代理IP池(proxy pool)
  7. linux shell: 搜索字符串,剔除包含特定字符的行
  8. 重要更新|《Python程序设计开发宝典》例12-7代码有bug
  9. kali下一键破解wifi密码
  10. php怎么做一个音乐播放器,音乐播放器的制作实例(html5)
  11. pos机Project v1.1
  12. 怎么看xp计算机mac地址,查找MAC地址的两种方法
  13. Linux 如何添加一个 Swap 文件
  14. Linux 关机与重启
  15. BQB PTS dongle不识别问题
  16. QMT量化交易软件使用攻略(二)-策略编写
  17. WPF实现简单的9宫格键盘移动方块
  18. Mangos人物声望代码
  19. 任天堂游戏开发引擎_开发人员如何编程旧任天堂游戏使其平滑滚动
  20. 集合深度学习07—Set、HashSet、LinkedHashSet、TreeSet、 底层原理 源码解析

热门文章

  1. 《UNIXLinux程序设计教程》一第2章-2.0 标准输入输出
  2. bioperl 格式化genebank的输出
  3. Linux时间子系统之三:时间的维护者:timekeeper
  4. Fabric 架构和概念
  5. node 生成随机头像_唯一ID生成算法剖析
  6. redis代码 数据超时实现
  7. date 的基本使用 suse
  8. stm32 DMA 配置 串口程序
  9. [原创分享] SocketCapture 网络抓包工具
  10. 为什么数据中心不能给乡镇带来新的就业机会