Docker 网络连接
描述 | 将容器连接到网络 |
---|---|
用法 | docker network connect [OPTIONS] NETWORK CONTAINER |
描述
将容器连接到网络。您可以按名称连接容器 或通过 ID 进行。连接后,容器可以与 同一个网络。
选项
选择 | 违约 | 描述 |
---|---|---|
--alias | 为容器添加网络范围的别名 | |
--driver-opt | 网络的驱动程序选项 | |
--ip | IPv4 地址(例如172.30.100.104 ) | |
--ip6 | IPv6 地址(例如2001:db8::33 ) | |
--link | 向另一个容器添加链接 | |
--link-local-ip | 为容器添加链接本地地址 |
例子
将正在运行的容器连接到网络
$ docker network connect multi-host-network container1
在容器启动时将容器连接到网络
您还可以使用docker run --network=<network-name>
选项启动
容器,并立即将其连接到网络。
$ docker run -itd --network=multi-host-network busybox
指定容器将在给定网络上使用的 IP 地址 (--ip)
您可以指定要分配给容器接口的 IP 地址。
$ docker network connect --ip 10.10.36.122 multi-host-network container2
使用旧版--link
选项 (--link)
您可以使用--link
选项将另一个容器与首选别名链接。
$ docker network connect --link container1:c1 multi-host-network container2
为容器创建网络别名 (--alias)
--alias
选项可用于按网络中的其他名称解析容器
正在连接。
$ docker network connect --alias db --alias mysql multi-host-network container2
为容器的接口设置 sysctl 参数 (--driver-opt)
sysctl
以net.ipv4.
和net.ipv6.
可以按接口设置
用--driver-opt
标签com.docker.network.endpoint.sysctls
.的名称
interface 必须替换为IFNAME
.
设置多个sysctl
对于接口,请引用driver-opt
字段中,请记住在必要时转义 shell 的引号。
例如,如果my-net
是给定名称eth3
,以下示例
集net.ipv4.conf.eth3.log_martians=1
和net.ipv4.conf.eth3.forwarding=0
.
$ docker network connect --driver-opt=\"com.docker.network.endpoint.sysctls=net.ipv4.conf.IFNAME.log_martians=1,net.ipv4.conf.IFNAME.forwarding=0\" multi-host-network container2
注意
网络驱动程序可能会限制可以修改的 sysctl 设置,并且为了保护 网络的运行,将来可能会添加新的限制。
停止、暂停或重启容器的网络影响
您可以暂停、重新启动和停止连接到网络的容器。 容器在运行时连接到其配置的网络。
如果指定,则容器的 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 地址或名称。为overlay
networks 或自定义插件
支持多主机连接,容器连接到同一个多主机
网络,但从不同的 Engine 也可以通过这种方式进行通信。
您可以将容器连接到一个或多个网络。网络不需要 相同类型。例如,您可以连接单个容器桥和叠加层 网络。