Docker容器技术之user-defined网络
说明,在本文中,所有的images采用的是busybox:latest。系统采用的是Ubuntu22.04.
除了上篇文章介绍的bridge网络、host网络以及none网络,Docker还有一种非常重要的网络,即user-defined网络。
Docker提供三种user-defined网络驱动:bridge、overlay和macvlan。overlay和macvlan用于创建跨主机的网络,这篇文章不做介绍,我们主要介绍bridge驱动的网络。
一、创建bridge驱动的网络
在上面的命令中,–driver bridge表示网络驱动为bridge,helmer_net表示网络的名字。新的网络的ID为9c7883051f9a,网桥名称为br-9c7883051f9a。
查看helmer_net网络的具体信息如下:
在这个网络中,172.18.0.0/16是自动分配的IP网段。
二、创建自定义网段的bridge驱动的网络
以上一种方式创建的网络无法自定义网段,只能由系统进行分配,缺乏灵活性,下面我们创建自定义网段的网络。
上图展示了如何建立自定义网络的过程,从网络具体信息上看,我们指定的网段已经生效,下面启动容器进行验证。
从上图中可以看到容器分配的IP地址为172.15.2.2。说明我们创建的网络已经生效,这个灵活性比较强。
创建容器时,自定义网段网络上的容器可以自定义IP地址,而其他的网络若制定IP地址则会报错。
从上途中可以看出,网络helmer_net2指定IP地址成功,而网络helmer_net指定IP地址失败。