Docker之容器网络b
00 分钟
2022-8-26

容器网络

一、为什么要学习容器网络?

如果要使用Docker来搭建redis集群或者别的集群需要制定Docker容器的IP地址,但是每次容器重启都会修改容器的IP地址,所以需要了解如何设置容器的网络。

二、Docker默认网络

Docker安装后,会默认创建三种网络类型,可使用如下命令来查看:
notion image
在启动容器时使用--network bridge 制定网络类型,bridge为桥接网络
默认情况下启动的Docker容器,都是使用briage,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就会导致重启时,Docker的IP地址就变了。

三、Docker网络模型

notion image
从上面的网络模型可以看出,容器从原理上是可以与宿主机乃至外界的其他机器通信的。同一宿主机上,容器之间都是连接到Docker0这个网桥上的,它可以作为虚拟交换机使容器可以相互通信。然而,由于宿主机的IP地址与容器的IP地址均不在同一网段,不足以使宿主机以外的网络主动发现容器的存在。为了使外界可以访问容器中的进程,Docker采用率端口绑定的方式,也就是通过iptables的NAT,将宿主机上的端口号流量转发到容器内的端口上。 在宿主机上,可以通过iptables -t nat -L -n,查到一条DNAT规则: briage模式的容器与外界通信时,必定会占用宿主机的端口,从而与宿主机竞争端口资源,对宿主机端口的管理会是一个比较大的问题。同时,由于容器与外界通信是基于三层以上iptables NAT,性能和消耗上的耗损是可以预见的

四、自定义容器网络

因为默认的网络不能指定固定的地址,所以我们将创建自定义网络,并指定网段:192.168.1.0/24并命名为mynetwork,指令如下:
###五、使用自定义网络
notion image

六、查看容器IP地址

notion image

评论