一、Docker的网络管理
1、 Docker默认网络管理
在进行Docker安装时,Docker就会自动创建三种网络。客户端可以通过网络管理指令进行查看。
#docker network ls
#该指令用于列举Docker中的所有网络。
Docker中默认的三种网络分别是bridge、host和none;
bridge是默认的bridge驱动网络,也是容器创建时默认的网络管理方式,配置后可以与宿主机通信从而实现与互联网通信功能;
host和none属于无网络,容器添加到这两个网络时不能与外界网络通信。
bridge网络管理方式演示:
(1)创建并启动容器
#docker run -itd --name=networktest ubuntu
#在后台启动ubuntu容器,将启动后的容器命名为networktest。
(2)查看网络详情
#docker network inspect bridge
#核查名称为bridge的网络详情,需要指明网络名称或网络ID。
执行上述指令后会显示出bridge网络的所有详细信息,其中包括了使用默认bridge网络管理方式启动的networktest容器。
2、 自定义birdge网络
在docker中可以自定义bridge网络、overlay网络,也可以创建network plugin(网络插件)或者远程网络以实现容器网络的完全定制和控制。
非集群环境下基于bridge驱动的自定义网络演示:
(1)创建自定义网络
#docker network create --driver bridge isolated_nw
#创建一个基于bridge驱动的isolated_nw网络。
(2)使用自定义网络启动容器
自定义网络创建成功后,可以使用该网络启动一个容器。
#docker run --network=isolated_nw -itd --name=nwtest busybox
#docker inspect nwtest
#查看启动后的容器网络详情,来核查其网络管理方式。
nwtest容器使用isolated_nw网络进行容器网络管理。
(3)为容器添加网络管理
nwtest容器默认只使用isolated_nw一种网络管理方式,我们可以为该容器添加其他网络管理方式。
#docker network connect bridge nwtest
#为容器nwtest添加一种默认的bridge网络管理方式,使用docker inspect nwtest查看该容器网络详情。
(4)断开网络连接
#docker network disconnect isolated_nw nwtest