Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker network connect 常用命令。

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

删除一个或多个网络

推荐文档

相关文档

大家感兴趣的内容

随机列表