Docker 网络模式

Posted by Vito on May 27, 2022

Docker 网络模式

  • 当我们安装 Docker 后,默认会自动创建三个网络:
    • 各个网络都有各个网络的网段
      1
      2
      3
      4
      5
      
      [root@mydockerhost ~]# docker network ls
      NETWORK ID     NAME      DRIVER    SCOPE
      545e2b862d65   bridge    bridge    local
      5a12ddc79e4c   host      host      local
      b718e35bb0b5   none      null      local
      

Bridge

  • bridge:(默认模式)此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥
    • docker run --network bridge IMAGE
    • 使用默认的 bridge 网络链接的容器之间只可以通过 容器IP 通信
    • 使用自定义的 bridge 网络链接的容器之间可以通过 容器IP 或 容器名 通信
      • docker network create _networkName_
      • docker run --network _networkName_ --name containerName IMAGE

Host

  • host:容器将不会虚拟出自己的网卡,而是使用宿主机的IP和端口
    • docker run --network host IMAGE

Container

  • container:创建的容器不会创建自己的网卡,而是和一个指定的容器共享IP、端口范围
    • docker run --network container:容器名 IMAGE

None

  • none:容器有独立的 Network namespace,但并没有对其进行任何网络设置,如分配 veth pair和网桥连接、IP等