Docker 创建网络
参数
| Bash |
|---|
| root@pts/0 # docker network create --help
Usage: docker network create [OPTIONS] NETWORK
Create a network
Options:
--aux-address map 网络驱动程序使用的辅助IPv4或IPv6地址(默认值:map[])
--config-from string 从中复制配置的网络
--config-only 创建仅配置网络
-d, --driver string 用于管理网络的驱动程序(默认:"bridge")
--gateway strings 主子网的IPv4或IPv6网关
--ingress 创建群组路由网格网络
--internal 限制网络的外部访问
--ip-range strings 从子范围分配容器IP
--ipam-driver string IP地址管理驱动程序(默认:"default")
--ipam-opt map 设置IPAM驱动程序特定选项(默认:map[])
--ipv6 启用IPv6网络
--label list 在网络上设置元数据
-o, --opt map 设置驱动程序特定选项(默认:map[])
--scope string 控制网络的范围
--subnet strings 代表网络段的CIDR格式子网```
# 常用参数解析
--driver # 驱动类型,默认"bridge"
--subnet # 网段,默认从docker0地址网上递增(172.17.0.1-->172.18.0.1)
--gateway # 子网 网关
|
自定义一个网络
docker network create --driver bridge --subnet 172.18.0.0/16 --gateway 172.18.0.1 mynet
将容器加入网络
| Bash |
|---|
| # 启动容器时加入
docker run -itd --name n01 --net mynet alpine
# 已经运行的连接到网络,此时会增加一个新的IP
docker network connect mynet ap01 # 将运行的ap01 容器加入网络
# 此时ap01 容器有两个IP,可以连接n01 的IP
root@pts/0 # docker exec -it ap01 ip a
21: eth0@if22: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
23: eth1@if24: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:12:00:03 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.3/16 brd 172.18.255.255 scope global eth1
valid_lft forever preferred_lft forever
|
断开ap01 的mynet网络
docker network disconnect mynet ap01