Docker 网络

  • Docker的四种网络模式

  (一) bridge模式
  docker网络隔离基于网络命名空间,在物理机上创建docker容器时会为每一个docker容器分配网络命名空间,并且把容器IP桥接到物理机的虚拟网桥上。
  (二) none模式
  此模式下创建容器是不会为容器配置任何网络参数的,如:容器网卡、IP、通信路由等,全部需要自己去配置。
  (三.)host模式
  此模式创建的容器没有自己独立的网络命名空间,是和物理机共享一个Network Namespace,并且共享物理机的所有端口与IP,并且这个模式认为是不安全的。
  (四)container模式
  此模式和host模式很类似,只是此模式创建容器共享的是其他容器的IP和端口而不是物理机,此模式容器自身是不会配置网络和端口,创建此模式容器进去后,你会发现里边的IP是你所指定的那个容器IP并且端口也是共享的,而且其它还是互相隔离的,如进程等。

  • dokcer默认自带的几种网络介绍

  (一)none
  没有网络 只有回环地址127.0.0.1
  (二)host
  共享宿主机网络栈 network
  (三)bridge
  桥接模式,默认网络模式
  (四)user-defined
  用户自定义网络
  1.可以给容器指定IP
  2.容器之间可以使用DNS通信.即使用主机名通信

  • 命令  

  查看当前有哪些网络:docker network ls
  1)bridge 查看bridge网络详细信息
  docker network inspect bridge

  
  

  2)host
  创建网络:docker run -it --network host busybox sh
  

  

  3)none
  创建网络:docker run -it --network none busybox sh

  
  

  4)user-defined
  创建网络:
  docker network create --subnet 192.168.203.0/24 --gateway 192.168.203.1 tian

  
  

  创建容器指定IP
  docker run -it --network tian --ip 192.168.203.3 busybox sh

  
  

  用户自定义网络使用主机名通信:
  docker run -it --network tian --name tian1 --ip 192.168.203.5 busybox sh

  

  • 容器间IP通信

  运行容器 docker run -it --network tian --name tian3 --ip 192.168.203.6 busybox sh
  给tian3容器添加一张bridge网络模式网卡
  docker network connect bridge tian3

  

  

  删除bridge网卡:
  docker network disconnect bridge tian1

原文地址:https://www.cnblogs.com/t-ym/p/11837589.html