42 【docker】run命令

最常用的两个option是,网络端口映射,和文件共享

 

最基本的启动命令(从image创建一个container并启动):docker run -d <image-name>

-d:表示守护进程方式启动

-v:本地host的文件(文件夹)映射到容器内的文件(文件夹)

想起的-v参数是:-v [[host-dir:] container-dir [:OPTIONS]]

-v的第一个参数是host-dir,这个参数是可选参数,如果没设置,docker会在host主机中创建该文件夹

第二个参数是container-dir,这个参数是必选参数,是容器内部的文件夹

第三个参数是OPTIONS,有几种选项:

[rw|ro],读写或者只读

[z|Z],不太了解(这里是为了适应需要有标签的OS-SElinux系统的,z表示和宿主机共享标签,Z表示container是私有标签)

[[r]shared|[r]slave|[r]private],不太了解,(默认是[r]private,docker内部对共享的dir的操作,在host主机上是不可见的;[r]shared,host和container上的修改都是共享的,双方的修改对于对方都可见;[r]slave,表明host上做的修改在container是可见的,但是container上的改动,host上是不可见的)

[nocopy],不允许container中,从其他文件夹下拷贝文件到该文件夹下

 

-p:端口映射

贴一下man原文

       -p, --publish=[]
          Publish a container's port, or range of ports, to the host.

       Format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort Both hostPort and containerPort can be specified as a range of ports.  When
       specifying ranges for both, the number of container ports in the range must match the number of host ports in the range.  (e.g., docker run -p 1234-1236:1222-1224 --name thisWorks
       -t busybox but not docker run -p 1230-1236:1230-1240 --name RangeContainerPortsBiggerThanRangeHostPorts -t busybox) With ip: docker run -p 127.0.0.1:$HOSTPORT:$CONTAINERPORT
       --name CONTAINER -t someimage Use docker port to see the actual mapping: docker port CONTAINER $CONTAINERPORT

-p选项,把container中的端口或者一段端口发布到主机上

格式如下:ip:hostPort:containerPort  | ip::containerPort | hostPort:containerPort | containerPort

格式1:把containerPort发布到ip:hostPort(原因是有的host是多个IP的,这个命令可以指定发布到一个ip上)

格式2:ip::containerPort(和格式1类似,不过hostPort和containerPort一致时可以不用再写hostPort)

格式3:hostPort:containerPort(主机是单个IP时,不用再额外指定ip,直接使用hostPort+containerPort即可)

格式4:containerPort(主机IP单一,并且hostPort=containerPort时,可以忽略hostPort)

 

转载于:https://www.cnblogs.com/helww/p/10121116.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值