Docker中的网络与数据管理

第八章 Docker网络管理

8.1 Docker网络管理

8.1.1Docker默认网络管理

Docker中的网络与数据管理
(1)创建并启动容器。在终端窗口中执行如下命令。
Docker中的网络与数据管理
(2)使用网络查看指令查看网络详情,具体操作指令如下:
Docker中的网络与数据管理
Docker中的网络与数据管理

8.1.2自定义网络介绍

1、Bridge networks(桥接网络)
2、Overlay network in swarm mode(Swarm集群中的覆盖网络)
3、Custom network plugins(定制网络插件)

8.1.3自定义bridge网络

1、创建自定义网络
Docker中的网络与数据管理
2、使用自定义网络启动容器
Docker中的网络与数据管理
查看
Docker中的网络与数据管理
3、为容器添加网络管理
Docker中的网络与数据管理
查看该容器网络详情
Docker中的网络与数据管理
查看bridge
Docker中的网络与数据管理
查看isolated_nw
Docker中的网络与数据管理
4、断开容器网络连接
Docker中的网络与数据管理
5、移除自定义网络
Docker中的网络与数据管理

8.1.4 容器之间的网络通信

1、创建容器
(1)创建两个使用默认的bridge网络的容器,具体操作如下:
Docker中的网络与数据管理
(2)创建一个使用自定义的isolates网络(需要预先创建)的容器,具体操作如下。
Docker中的网络与数据管理
(3)为container2容器新增一个自定义的isolates_nw网络连接,具体操作指令如下:

2、容器地址查看
进入container2容器,具体操作如下:
Docker中的网络与数据管理
进入container1容器,具体操作如下:
Docker中的网络与数据管理
进入container3容器,具体操作如下:
Docker中的网络与数据管理
使用ifconfig指令查看当前容器被动态分配的IP地址
3、容器通信测试
使用docker attach container1指令进入container1容器内部,使用ping命令连接container3来查看是否通信,效果图如图所示:
Docker中的网络与数据管理
使用docker attach container2指令进入container1、2容器内部,测试container1和container3
Docker中的网络与数据管理
使用docker attach container2指令进入container2容器内部,连接container1和container3进行通信,如图所示:
Docker中的网络与数据管理
多学一招
Docker中的网络与数据管理

8.2 Docekr Swarm集群

8.2.1Docekr Swarm使用

1、环境搭建
(1)准备3台Ubuntu系统主机(即用于搭建集群的3个Docker机器),每台机器上都需要安装Docker并且可以连接网络,同时要求Docker版本都是1.12以上,因为老版本不支持Docker Swarm。
(2)集群管理节点docker机器的IP地址必须固定,集群中的所有都能够访问该管理节点。
(3)集群节点必须使用相应的协议并保证其一下端口号可用:
.用于集群管理通信的TCP端口2377;
.TCP和UDP端口7946,用于节点间的通信;
.UDP端口4789,用于覆盖网络流量。
为了进行此次试验,需要3台Ubuntu主机为lilixia1(作为管理节点)、lilixia2(作为工作节点)、lilixia3(作为工作节点),其IP地址分别如下:
lilixia1 192.168.1.11 管理节点
lilixia2 192.168.1.22 工作节点
lilixia3 192.168.1.33 工作节点
2、创建Docekr Swarm集群
(1)在名为lilixia1(管理节点)的Docker机器创建Docker Swarm集群,具体操作 如下:
Docker中的网络与数据管理
(2)在管理节点上,使用docker node is指令查看集群节点信息,效果如图所示:
Docker中的网络与数据管理
Docker中的网络与数据管理
3、向Docekr Swarm集群添加工作节点
(1)启动另外两台Docker机器work1和work2,分别打开终端窗口,执行向集群中加入工作节点的指令,具体操作如下:
Work1
Docker中的网络与数据管理
Work2
Docker中的网络与数据管理
在管理节点查看
Docker中的网络与数据管理
(2)再次在集群管理节点列表中显示出了1个管理节点和2个工作节点,这说明Swarm集群搭建成功
Docker中的网络与数据管理
4、向Docker Swarm集群部署服务
拉去镜像
Docker中的网络与数据管理
创建
Docker中的网络与数据管理
5、查看Docker Swarm集群中的服务
(1)当服务部署完成后,在管理节点上可以通过docker service ls指令查看当前集群的服务列表,具体操作指令如下:
Docker中的网络与数据管理
(2)可以使用docker service inspect指令,查看部署的服务具体详情 ,具体操作指令如下:
Docker中的网络与数据管理
(3)可以使用docker service ps指令查看指定服务在集群节点上的分配和运行情况,具体操作指令如下:
Docker中的网络与数据管理
6、更改Docker Swarm集群副本数量
Docker中的网络与数据管理
7、删除服务
对于不需要的服务,我们可以删除,具体操作指令如下:
Docker中的网络与数据管理
8、访问服务
(1)在集群管理节lilixia1上,执行docker network ls指令查看网络列表,效果如下:
Docker中的网络与数据管理
(2)在集群管理节点lilixia1上,创建以overlay为驱动的自定义网络,具体操作如下:
Docker中的网络与数据管理
(3)在集群管理节点lilixia1,再次部署服务,具体操作指令如下:
Docker中的网络与数据管理
(4)在集群管理节点lilixia1上,使用docker service ps my-web指令查看服务的两个服务副本运行情况,结果如下所示:
Docker中的网络与数据管理
(5)外界访问服务
在管理节点访问192.168.1.11:8080
Docker中的网络与数据管理
在work节点访问192.168.1.22:8080
Docker中的网络与数据管理
在work节点访问192.168.1.22:8080
Docker中的网络与数据管理

8.3 Volumes数据卷管理

8.3.1 Volumes数据卷使用

1、创建并管理数据卷
(1)创建数据卷
Docker中的网络与数据管理
(2)查看数据卷
Docker中的网络与数据管理
(3)核查数据卷

Docker中的网络与数据管理
(4)删除数据卷
Docker中的网络与数据管理
2、启动容器并加载数据
(1)查看本机容器并加载数据卷
Docker中的网络与数据管理
使用docker volume ls查看
Docker中的网络与数据管理
(2)确认查看本机Docker文件系统中容器和数据卷
Docker中的网络与数据管理
(3)启动容器并挂载数据卷
使用docker run指令创建并启动一个容器 ,同时挂载一个数据卷,具体操作如下:
Docker中的网络与数据管理
也可以使用-v参数数据卷,具体操作指令如下:
Docker中的网络与数据管理
(4)再次查看本机容器和数据卷列表
Docker中的网络与数据管理
查看
Docker中的网络与数据管理
(5)检查容器详情

Docker中的网络与数据管理
查看
Docker中的网络与数据管理
(6)再次确认本机docker文件系统中的容器和数据卷
Docker中的网络与数据管理
查看
Docker中的网络与数据管理