docker network create命令

docker network create命令用于创建一个新的网络连接。 DRIVER接受内置网络驱动程序的桥接或覆盖。如果安装了第三方或自己的自定义网络驱动程序,则可以在此处指定DRIVER。 如果不指定--driver选项,该命令将为您自动创建一个桥接网络。 当安装Docker Engine时,会自动创建桥接网络。 该网络对应于Engine传统依赖的docker0网桥。 当启动使用docker run运行新容器时,它将自动连接到此桥接网络。不能删除此默认网桥,但可以使用network create命令创建新的网络。 

$ docker network create -d bridge my-bridge-network

准备覆盖网络后,只需在群集中选择一个Docker主机,并发出以下内容创建网络:

$ docker network create -d overlay my-multihost-network

用法

docker network create [OPTIONS] NETWORK

选项

名称,简写 默认 说明
--attachable false 启用手动容器安装
--aux-address map[] 网络驱动程序使用的辅助IPv4或IPv6地址
--driver, -d bridge 驱动程序管理网络
--gateway 用于主子网的IPv4或IPv6网关
--internal false 限制对网络的外部访问
--ip-range 从子范围分配容器ip
--ipam-driver default IP地址管理驱动程序
--ipam-opt map[] 设置IPAM驱动程序的具体选项
--ipv6 false 启用IPv6网络
--label 在网络上设置元数据
--opt, -o map[] 设置驱动程序特定选项
--subnet 表示网段的CIDR格式的子网

示例

连接容器网络

启动容器时,使用--network标志将其连接到网络。 此示例将busybox容器添加到mynet网络:

$ docker run -itd --network=mynet busybox

如果要在容器运行后将容器添加到网络,请使用docker network connect子命令。

指定高级选项

创建网络时,引擎默认为网络创建一个不重叠的子网。 该子网不是现有网络的细分。 它纯粹用于IP寻址目的。可以覆盖此默认值,并使用--subnet选项直接指定子网络值。 在桥接网络上,只能创建单个子网:

$ docker network create --driver=bridge --subnet=192.168.0.0/16 br0

另外,还可以指定--gateway --ip-range--aux-address选项。

$ docker network create \
  --driver=bridge \
  --subnet=172.28.0.0/16 \
  --ip-range=172.28.5.0/24 \
  --gateway=172.28.5.254 \
  br0

如果省略--gateway标志,引擎将从首选池中选择一个。对于覆盖网络和支持它的网络驱动程序插件,可以创建多个子网络。

$ docker network create -d overlay \
  --subnet=192.168.0.0/16 \
  --subnet=192.170.0.0/16 \
  --gateway=192.168.0.100 \
  --gateway=192.170.0.100 \
  --ip-range=192.168.1.0/24 \
  --aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \
  --aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \
  my-multihost-network

确保子网不重叠。如果重叠的话网络创建失败,并且引擎会返回错误。

桥接驱动程序选项

创建自定义网络时,默认的网络驱动程序(即bridge)具有可以传递的其他选项。

例如,使用-o--opt选项在发布端口时指定IP地址绑定:

$ docker network create \
    -o "com.docker.network.bridge.host_binding_ipv4"="172.19.0.1" \
    simple-network

你可能感兴趣的:(docker,docker,容器,运维)