概要
如何在 Docker 中管理和配置容器的网络
第1步:创建自定义网络
首先,我们创建一个名为 my_custom_network 的新桥接网络:
docker network create --driver bridge my_custom_network
这个命令创建了一个名为 my_custom_network
的 Docker 网络,使用的是桥接模式。
第2步:运行容器并连接到网络
接下来,我们将启动两个 CentOS 容器,并将它们连接到我们刚刚创建的网络。
启动第一个容器:
docker run -dit --name centos1 --network my_custom_network centos:7
启动第二个容器:
docker run -dit --name centos2 --network my_custom_network centos:7
这两个命令分别启动了名为 centos1
和 centos2
的容器,并将它们连接到 my_custom_network
网络。
第3步:检查网络配置
我们可以通过检查容器的网络配置来验证它们是否正确连接到了自定义网络。
首先,检查网络信息:
docker network inspect my_custom_network
然后,您可以进入其中一个容器来检查其网络接口:
docker exec -it centos1 /bin/bash
在容器内部,您可以使用 ip addr
命令来查看网络接口信息。您将看到除了 lo(回环)接口外,还有一个名为eth0
的接口,它连接到了我们创建的 my_custom_network
网络。
第4步:容器间通信
在相同网络上的容器可以使用容器名称进行互相通信。例如,在 centos1
容器中,您可以尝试 ping centos2
:
ping centos2
这个简单的例子展示了如何在 Docker 中创建自定义网络,并将容器连接到这个网络上。通过这种方式,您可以模拟传统网络环境中的多个主机在同一子网内的设置。
创建自定义网络
首先,创建一个具有指定子网的自定义网络。这样,您可以更容易地控制网络中容器的 IP 地址。例如,创建一个名为 my_custom_network
的网络,带有 10.10.0.0/16
子网:
docker network create --subnet=10.10.0.0/16 my_custom_network
运行容器并指定 IP 地址
接下来,在启动容器时,您可以使用 --network
选项指定网络,并使用 --ip 选项指定容器的 IP 地址。确保该 IP 地址在您创建的网络子网范围内:
docker run -d --network my_custom_network --ip 10.10.0.5 -it --name my_container centos:7
这个命令会启动一个名为 my_container
的 CentOS 容器,并将其 IP 地址设置为 10.10.0.5
。
注意事项
确保指定的 IP 地址不与网络中的其他设备冲突。
指定的 IP 地址必须在您创建的自定义网络的子网范围内。
一旦容器停止或被删除,该 IP 地址将被释放,并且可能会被分配给随后启动的其他容器。