【Docker基础系列】 创建一个网络docker network create
源自专栏《docker常用命令系列&&k8s系列目录导航》
文章目录
概述:
创建一个网络。
用法:
docker network create [OPTIONS] NETWORK
描述:
创建一个新的网络。
DRIVER
接受bridge
或overlay
,这是内置的网络驱动程序。如果您安装了第三方或自定义的网络驱动程序,也可以在这里指定DRIVER
。
如果未指定--driver
选项,命令会自动为您创建一个桥接网络。在安装Docker Engine时,它会自动创建一个桥接网络。这个网络对应于Docker Engine传统依赖的docker0
桥接。当您使用docker run
启动新容器时,它会自动连接到这个桥接网络。您无法删除这个默认的桥接网络,但可以使用network create
命令创建新的网络。
docker network create -d bridge my-bridge-network
-
桥接网络是在单个Docker Engine安装中的隔离网络。如果您想要创建一个跨越多个运行Docker Engine的Docker主机的网络,您必须启用Swarm模式,并创建一个覆盖网络。要了解更多关于Swarm模式下覆盖网络的信息,请参阅"使用覆盖网络"。
一旦启用了Swarm模式,您可以创建一个面向Swarm的覆盖网络:
docker network create --scope=swarm --attachable -d overlay my-multihost-network
默认情况下,面向Swarm的网络不允许手动启动的容器连接。这个限制是为了防止在Swarm集群中访问非管理节点的用户运行可以访问Swarm服务的网络堆栈的容器。
上面示例中使用的--attachable
选项禁用了这个限制,允许Swarm服务和手动启动的容器都连接到覆盖网络。
- 网络名称必须是唯一的。Docker守护程序会尝试识别命名冲突,但不能保证。用户有责任避免名称冲突。
覆盖网络限制
在使用默认基于VIP的端点模式创建网络时,您应该使用/24块(默认值),这将限制您使用256个IP地址。这个建议解决了Swarm模式的限制。如果您需要超过256个IP地址,不要增加IP块大小。您可以使用具有外部负载均衡器的dnsrr
端点模式,或者使用多个较小的覆盖网络。有关不同端点模式的更多信息,请参阅"配置服务发现"。
选项:
选项 | 默认值 | 描述 |
---|---|---|
–attachable | API 1.25+,启用手动容器附加 | |
–aux-address | Network驱动程序使用的辅助IPv4或IPv6地址 | |
–config-from | API 1.30+,从中复制配置的网络 | |
–config-only | API 1.30+,仅创建配置网络 | |
-d, --driver | bridge | 管理网络的驱动程序 |
–gateway | < |