docker 网络

docker网络常用命令

查看所有网络:docker network ls
这里写图片描述

查看某个网络详情:docker network inspect 容器ID
这里写图片描述

docker 4种网络模式

  1. bridge模式,使用–net=bridge指定,默认设置。
  2. host模式,使用–net=host指定。
  3. container模式,使用–net=container:容器名称或ID指定
  4. none模式,使用–net=none指定。

host模式:此模式创建的容器没有自己独立的网络命名空间,是和物理机共享一个Network Namespace,并且共享物理机的所有端口与IP,并且这个模式认为是不安全的。

container模式:此模式和host模式很类似,只是此模式创建容器共享的是其他容器的IP和端口而不是物理机,此模式容器自身是不会配置网络和端口,创建此模式容器进去后,你会发现里边的IP是你所指定的那个容器IP并且端口也是共享的,而且其它还是互相隔离的,如进程等。

none模式:此模式下创建容器是不会为容器配置任何网络参数的,如:容器网卡、IP、通信路由等,全部需要自己去配置。

1. bridge

bridge模式:docker网络隔离基于网络命名空间,在物理机上创建docker容器时会为每一个docker容器分配网络命名空间,并且把容器IP桥接到物理机的虚拟网桥上。

bridge 存在的目的:隔离各个容器,使得每个容器的端口号都是隔离的。如果不隔离开来,那么容器将和宿主机,容器和容器间都会发生端口占用的情况。
这里写图片描述

查看docker0网桥:ip addr show docker0
这里写图片描述

查看docker0详情:

sudo yum install bridge-utils
brctl show

这里写图片描述

这里的 veth7c94a82 是和容器test1的network namespace相连的。
新建一个test2容器后:
这里写图片描述

bridge 容器上网

NAT(Network Address Translation,网络地址转换),当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
这里写图片描述

未完待续。。。

猜你喜欢

转载自blog.csdn.net/qq_27068845/article/details/80893318