钢球 东莞网站建设扬中信息发布
原文网址:Docker--network命令的用法_IT利刃出鞘的博客-CSDN博客
简介
说明
本文介绍Docker的network网络命令的用法。
官网网址
docker network | Docker Documentation
命令概述
所有命令
|   命令名称  |   说明  | 
|   docker network connect  |   将容器连接到网络  | 
|   docker network create  |   创建一个网络  | 
|   docker network disconnect  |   断开容器的网络  | 
|   docker network inspect  |   显示一个或多个网络的详细信息  | 
|   docker network ls  |   列出网络  | 
|   docker network prune  |   删除所有未使用的网络  | 
|   docker network rm  |   删除一个或多个网络  | 
查看命令的方法
所有命令都可以用--help查看用法,例如:
knife@ubuntu:~$ docker network create --helpUsage:  docker network create [OPTIONS] NETWORKCreate a networkOptions:--attachable           Enable manual container attachment--aux-address map      Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])--config-from string   The network from which to copy the configuration--config-only          Create a configuration only network-d, --driver string        Driver to manage the Network (default "bridge")--gateway strings      IPv4 or IPv6 Gateway for the master subnet--ingress              Create swarm routing-mesh network--internal             Restrict external access to the network--ip-range strings     Allocate container ip from a sub-range--ipam-driver string   IP Address Management Driver (default "default")--ipam-opt map         Set IPAM driver specific options (default map[])--ipv6                 Enable IPv6 networking--label list           Set metadata on a network-o, --opt map              Set driver specific options (default map[])--scope string         Control the network's scope--subnet strings       Subnet in CIDR format that represents a network segment 
create
概述
create 命令用于创建一个新的容器网络。Docker 内置了 bridge(默认使用)和 overlay 两种驱动,分别支持主机和多主机场景。Docker 服务在启动后,会默认创建一个 bridge 类型的网桥 bridge。不同网络之间默认相互隔离。
命令
docker network create network_name 
支持参数
- -attachable[=false]:支持手动容器挂载
 - -aux-address=map[]:辅助的 IP 地址
 - -config-from="":从某个网络复制配置数据
 - -config-only[=false]:启用仅可配置模式
 - -d,-driver="bridge":网络驱动类型,如 bridge 或 overlay
 - -gateway=[]:网关地址
 - -ingress[=false]:创建一个 Swarm 可路由的网状网络用于负载均衡,可将对某个服务的请求自动转发给一个合适的副本
 - -internal[=false]:内部模式,禁止外部对所创建网络的访问;
 - -ip-range=[]:指定分配 IP 地址范围
 - -ipam-driver="default":IP地址管理的插件类型
 - -ipam-opt=map[]:IP地址管理插件的选项
 - -ipv6[=false]:支持IPv6地址
 - -label value:为网络添加元标签信息
 - -o,-opt=map[]:网络驱动所支持的选项
 - -scope="":指定网络范围
 - -subnet=[]:网络地址段,CIDR 格式,如 172.17.0.0、16
 
connect
概述
connect 命令将一个容器连接到一个已存在的网络上。连接到网络上的容器可以跟同一网络中其他容器互通,同一个容器可以同时接入多个网络。也可以在执行 docker run 命令时候通过 -net 参数指定容器启动后自动接入的网络。
命令
docker network connect network_name mysql 
支持参数
- -alias=[]:为容器添加一个别名,此别名仅在所添加网络上可见
 - -ip="":指定IP地址,需要注意不能跟已接入的容器地址冲突
 - -ip6="":指定 IPv6 地址
 - -link value:添加连接到另外一个容器
 - -link-local-ip=[]:为容器添加一个链接地址
 
disconnect
命令
docker network disconnect network_name mysql 
支持参数
- -f 强制把容器从网络上移除
 
inspect
概述
命令
docker network inspect network_name 
支持参数
- -f,-format="":给定一个 Golang 模板字符串,对输出结果进行格式化,如只查看地址配置可以用 -f '{{.IPAM.Config}}'
 
示例
查看容器IP
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name 
输出是空的说明没有配置IP地址。
查看地址配置
docker network inspect network_name -f '{{.IPAM.Config}}' 
获取所有容器名称及其IP地址
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq) 
使用docker-compose命令将是:
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq) 
 
ls
docker network ls 
prune
docker network prune 
rm
docker network rm network_name 
注意
在删除之前,要先通过docker disconnect命令断开此网络与其他容器的连接。
