1、docker network connect 简介
docker network connect
是用于将一个已经创建的 Docker 容器连接到指定的网络。可以通过名称或ID连接容器。这个命令可以使得容器能够与其他已连接到同一网络的容器进行通信。
参考文档:https://docs.docker.com/engine/reference/commandline/network_connect/
2、docker network connect 语法
docker network connect [OPTIONS] NETWORK CONTAINER
3、docker network connect 命令
1)将正在运行的容器连接到网络
docker network connect multi-host-network container1
2)在容器启动时将其连接到网络
docker run -itd --network=multi-host-network busybox
3)指定容器在给定网络上使用的 IP 地址(--ip)
可以指定要分配给容器接口的 IP 地址。
docker network connect --ip 10.10.36.122 multi-host-network container2
4)使用遗留的 --link 选项 (--link)
可以使用 --link
选项将另一个容器与首选别名链接起来。
docker network connect --link container1:c1 multi-host-network container2
5)为容器创建一个网络别名 (--alias)
--alias
选项可用于在要连接的网络中使用另一个名称解析容器。
docker network connect --alias db --alias mysql multi-host-network container2
6)停止、暂停或重启容器对网络的影响
您可以暂停、重启和停止连接到网络的容器。容器在运行时连接到其配置的网络。
如果指定了 IP 地址,停止的容器重新启动时会重新应用其 IP 地址。如果该 IP 地址不再可用,则容器无法启动。确保 IP 地址可用的一种方法是在创建网络时指定 --ip-range
,并从该范围之外选择静态 IP 地址。这可以确保在该容器不在网络上时,IP 地址不会分配给另一个容器。
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-network docker network connect --ip 172.20.128.2 multi-host-network container2
要验证容器是否连接,请使用 docker network inspect
命令。使用 docker network disconnect
命令从网络中删除容器。
一旦在网络中连接,容器只能使用其他容器的 IP 地址或名称进行通信。对于支持多主机连接性的覆盖网络或自定义插件,从不同引擎启动但连接到同一多主机网络的容器也可以以这种方式进行通信。
可以将容器连接到一个或多个网络。这些网络不必是相同类型的。例如,可以将单个容器连接到桥接和覆盖网络。
4、命令选项
选项 | 描述 |
--alias | 为容器添加网络范围的别名 |
--driver-opt | 网络驱动程序选项 |
--ip | 为容器分配一个 IPv4 地址。 IPv4 地址 (例如, 172.30.100.104 ) |
--ip6 | 为容器分配一个 IPv6 地址。IPv6 地址 (例如, 2001:db8::33 ) |
--link | 将容器连接到另一个正在运行的容器, 使得它们可以通过容器名称进行通信。 |
--link-local-ip | 为容器添加一个链路本地地址。 链路本地地址只在本地网络中可用, 它不能被路由到其他网络。 |
5、子命令
命令 | 描述 |
docker network connect | 将容器连接到网络 |
docker network create | 创建一个网络 |
docker network disconnect | 断开容器与网络之间的连接 |
docker network inspect | 显示一个或多个网络的详细信息 |
docker network ls | 列出所有网络 |
docker network prune | 删除所有未使用的网络 |
docker network rm | 删除一个或多个网络 |