如果为一个容器的网络模式 指定主机模式,则该容器的网络堆栈不与docker主机隔离,也即容器网络直接使用主机网络,例如,你运行一个容器,绑定了端口80,同时使用 host  网络,那么容器应用程序的80端口在主机IP上可适用,也即访问主机的80端口,会直接访问到容器应用程序的80端口。

       主机网络驱动程序只在Linux主机上工作,在Mac的Docker、Windows的Docker或Windows服务器的Docker EE上不受支持。

       在docker 17.06版本,及更高的版本中,在使用 docker container create 指令时,传递 --network 参数为 hsot ,可为集群服务使用 host 网络。在此条件下,集群控制仍然使用 覆盖网络 进行流量控制,但集群服务器的独立容器间,使用主机的网络和端口进行数据传输。如此,便导致了额外的限制,例如如果服务容器绑定到端口80,那么在给定的群集节点上只能运行一个服务容器。

    如果运行的容器和服务无发布端口,则无影响。通过docker container create --help 可查看具体 --network 标记的使用

[root@localhost hadoop]# docker container create --help

Usage:  docker container create [OPTIONS] IMAGE [COMMAND] [ARG...]

Create a new container


      --mac-address string             Container MAC address (e.g., 92:d0:c6:0a:29:33)
  -m, --memory bytes                   Memory limit
      --memory-reservation bytes       Memory soft limit
      --memory-swap bytes              Swap limit equal to memory plus swap: '-1' to enable unlimited swap
      --memory-swappiness int          Tune container memory swappiness (0 to 100) (default -1)
      --mount mount                    Attach a filesystem mount to the container
      --name string                    Assign a name to the container
      --network string                 Connect a container to a network (default "default")
      --network-alias list             Add network-scoped alias for the container
      --no-healthcheck                 Disable any container-specified HEALTHCHECK
      --oom-kill-disable               Disable OOM Killer
      --oom-score-adj int              Tune host's OOM preferences (-1000 to 1000)
      --pid string                     PID namespace to use
      --pids-limit int                 Tune container pids limit (set -1 for unlimited)

     

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐