zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    二进制部署k8s集群(7):创建(Pod, Deployment、Service)验证kubernetes集群
    二进制部署k8s集群(六):部署kube-proxy
    centos同步系统时间
    二进制部署k8s集群(五):部署kubelet
    二进制部署k8s集群(四):部署controller-manager与kube-scheduler
    二进制部署k8s集群(三):部署kube-apiserver,签发kube-apiserver证书|kuelete证书|kube-proxy证书
    二进制部署k8s集群(二): 签发etcd证书,安装etcd集群
    二进制部署k8s集群(一):前期准备,安装虚拟机与DNS软件bind9
    docker-compose.yml 使用说明
    python--将字符串类型的list 转换成 list
  • 原文地址:https://www.cnblogs.com/helww/p/10121116.html
Copyright © 2011-2022 走看看