Docker Swarm 入门:Docker Network 基
2018-01-14 本文已影响213人
Anoyi
文/Anoyi
为了更好的理解如何管理 Docker Swarm 下服务的网络,本文先介绍 Docker 网络的基础操作。
► 创建网络
https://docs.docker.com/engine/reference/commandline/network_create/
用法
docker network create [参数] NETWORK
可选参数
简写 | 参数 | 默认值 | 描述 |
---|---|---|---|
--attachable | 允许人工添加容器到此网络 | ||
--aux-address | 网络驱动程序使用的辅助的 IPv4 或 IPv6 地址 | ||
--config-from | 从配置文件中的网络配置 | ||
--config-only | 仅配置文件有效 | ||
-d | --driver | bridge | 网络驱动(bridge、overlay) |
--gateway | 主子网的 IPv4 或 IPv6 网关 | ||
--ingress | 创建 Swarm 路由网状网络 | ||
--internal | 限制对网络的外部访问 | ||
--ip-range | 容器可分配的IP范围 | ||
--ipam-driver | IP地址驱动 | ||
--ipam-opt | 设置 IPAM 驱动的指定参数 | ||
--ipv6 | 允许 IPv6 | ||
--label | 设置元数据 | ||
-o | --opt | 设置驱动的指定参数 | |
--scope | 控制网络的范围 | ||
--subnet | 以 CIDR 格式表示网段的子网 |
示例
创建一个网络
docker network create -d overlay \
--attachable \
--subnet=192.168.0.0/16 \
--gateway=192.168.0.100 \
--aux-address="anoyi=192.168.1.5" \
user_network
► 网络列表
https://docs.docker.com/engine/reference/commandline/network_ls/
用法
docker network ls [参数]
可选参数
简写 | 参数 | 默认值 | 描述 |
---|---|---|---|
-f | --filter | 过滤 (例 ‘driver=bridge’) | |
--format | 格式转化 | ||
--no-trunc | 不要截断输出 | ||
-q | --quiet | 仅显示网络ID |
示例
user_network
即为上面创建的网络
► 网络详情
https://docs.docker.com/engine/reference/commandline/network_inspect/
用法
docker network inspect [参数] NETWORK [NETWORK...]
可选参数
简写 | 参数 | 默认值 | 描述 |
---|---|---|---|
-f | --format | 格式转化 | |
-v | --verbose | 详细输出用于诊断 |
示例
docker network inspect user_network
► 容器连接网络
用法
docker network connect [参数] NETWORK CONTAINER
可选参数
简写 | 参数 | 默认值 | 描述 |
---|---|---|---|
--alias | 为容器添加网络别名 | ||
--ip | IPv4 地址 (如 172.30.100.104) | ||
--ip6 | IPv6 地址 (如 2001:db8::33) | ||
--link | 连接到其他容器 | ||
--link-local-ip | 容器连接到本地地址 |
示例
1、启动一个 Nginx 容器
docker run -d --name nginx nginx
2、将 nginx 容器连接到 user_network 网络
docker network connect user_network nginx
3、查看 nginx 容器详情
docker inspect nginx
► 容器断开网络
用法
docker network disconnect [参数] NETWORK CONTAINER
可选参数
简写 | 参数 | 默认值 | 描述 |
---|---|---|---|
-f | --force | 强制容器与网络断开连接 |
示例
断开 nginx 容器与 user_network 网络的连接
docker network disconnect -f user_network nginx
► 删除网络
删除指定网络
docker network rm NETWORK [NETWORK...]
批量删除无用网络
docker network prune [参数]
可选参数
简写 | 参数 | 默认值 | 描述 |
---|---|---|---|
--filter | 过滤 (如 ‘until=') | ||
-f | --force | 强制容器与网络断开连接 |