docker网络命令
查看网络命令帮助
docker network help
– | 各种网络命令Command | – |
---|---|---|
connect | Connect a container to a network | 将一个容器连接到一个网络 |
create | Create a network | 创建一个网络 |
disconnect | Disconnect a container from a network | 从网络断开一个容器 |
inspect | Display detailed information on one or more networks | 在一个或多个网络上显示详细信息 |
ls | List networks | 网络列表 |
prune | Remove all unused networks | 删除所有未使用的网络 |
rm | Remove one or more networks | 删除一个或多个网络 |
docker查看命令
###查看容器详细信息 docker inspect [容器id]
查看容器端口信息
docker port [容器id]
docker网络模式
从1.7.0版本开始,Docker正式把网络跟存储这两个部分的功能实现都以插件化的形式剥离出来,允许用户通过指令来选择不同的后端实现。这也就是Docker希望构建围绕着容器的强大生态系统的一些积极尝试。剥离出来的独立网络项目叫做libnetwork
, libnetwork中的网络模型(Container Networking Model, CNM)十分简洁,可以让上层的大量应用容易最大程度上不去关心底层实现。
docker的常用的网络模式
###bridge模式 简单来说:就是穿马甲,打着宿主机的旗号,做自己的事情。Docker的默认模式,它会在docker容器启动时候,自动配置好自己的网络信息,同一宿主机的所有容器都在一个网络下,彼此间可以通信。类似于我们vmware虚拟机的桥接模式。利用宿主机的网卡进行通信,因为涉及到网络转换,所以会造成资源消耗,网络效率会低。
端口映射
宿主机 公网ip:198.x.x.x ---> 容器ip: 172.17.0.x
docker network create --driver [网络类型][网络名称]
#参数
create 创建一个网络
--driver 指定网络类型
#命令演示
docker network create --driver bridge bridge-test
host模式:简单来说,就是鸠占鹊巢,用着宿主机的东西,干自己的事情。容器使用宿主机的ip地址进行通信。特点:容器和宿主机共享网络
容器使用宿主机的ip地址进行对外提供服务,本身没有ip地址。
container模式:新创建的容器间使用,使用已创建的容器网络,类似一个局域网。特点:容器和容器共享网络
none模式:这种模式最纯粹,不会帮你做任何网络配置,可以最大限度的定制化。不提供网络服务,容器启动后无网络链接。
overlay模式:容器彼此不在同一个网络,而且能互相通信。
自定义网段与网关
#自定义网段与网关
#查看关羽网段和网关的相关命令
docker network create --help
--gateway strings IPv4 or IPv6 Gateway for the master subnet 主子网的IPv4或IPv6网关
--subnet strings Subnet in CIDR format that represents a network segment 表示网络段的CIDR格式的子网
#查看刚刚创建的网络信息
docker network inspect bridge-test
docker network create --driver bridge --gateway 172.99.0.1 --subnet 172.99.0.0/16 bridge-test