Docker中的网络与数据管理(二)

本文详细介绍了Docker Swarm集群的创建与管理,包括 Swarm 的主要特点、环境搭建、服务部署、副本数量调整及网络管理。此外,还阐述了如何在Docker中创建、管理数据卷,以及容器如何加载数据卷。
摘要由CSDN通过智能技术生成

Docker Swarm集群

一、Docker Swarm概述
1、Docker Swarm简介
Docker Swarm是一个用于创建和管理Docker集群的工具。Docker1.12以及后续版本集成了swarmkit工具,该工具主要用于Docker集群管理和容器的编排。
2、Docker Swarm集群主要特点
(1):方便创建和管理集群;
(2):可扩展;
(3):可实现期望的状态调节;
(4):集群中多主机网络自动扩展管理;
(5):提供服务发现功能;
(6):可实现负载均衡;
(7):安全性强;
(8):支持延迟更新和服务回滚。
二、Docker Swarm的使用
1、环境的搭建
(1):准备3台ubuntu系统的主机(命名分别为manager1,work1,work2),每台住进都已安装docker并且可以连接网络,docker版本必须在1.12以上;
(2):集群中的主机ip地址必须固定,集群中的所有节点必须能够访问管理节点;
(3):集群节点之间必须使用相应的协议并保证以下端口可用:用于集群管理通信的TCP端口2377;TCP和UDP端口7946,用于节点间的通信;UDP端口4789,用于覆盖网络流量;
2、创建Docker Swarm集群
(1):在名为manager1的docker机器上创建Docker Swarm集群,具体指令如下图所示:
注:如果只是测试单节点的集群,直接使用docker swarm init指令即可。
在这里插入图片描述
(2):在管理节点上,使用docker node ls指令进行查看集群节点信息,具体如下图所示:
在这里插入图片描述
3、向Docker Swarm集群添加工作节点
(1):启动另外两台docker机器work1和work2,执行向集群中添加工作节点的指令,具体操作指令如下图所示:
注:–token参数表示向集群中加入工作节点的认证信息,这个必须是创建管理节点时显示的认证信息。
在这里插入图片描述
在这里插入图片描述
(2):在集群中的管理节点上再次使用docker node ls指令进行查看集群节点信息,具体效果如下图所示:
在这里插入图片描述
4、向Docker Swarm集群中部署服务
(1):这里使用docker hub中心仓库,如果没有注册的进入其官网https://hub.docker.com注册一个账号用于镜像的推送。现在我们使用docker hub上自带的apline镜像为例来部署集群服务,如果没有apline镜像可使用docker pull apline进行拉取,也可以使用图中的命令直接部署,具体指令如下图所示:
在这里插入图片描述
5、查看Docker Swarm集群中的服务
(1):在管理节点上使用docker service ls指令查看当前集群中的服务列表信息,具体操作指令如下所示:
在这里插入图片描述
(2):使用docker service inspect+服务名称查看部署的服务具体详情,具体操作如下图所示:
在这里插入图片描述
(3):使用docker service ps +服务名称查看指定服务在集群节点上的分配的运行情况,具体操作指令如下图所示:
在这里插入图片描述
6、更改Docker Swarm集群服务副本数量
(1):在管理节点上进行更改服务副本数量,具体操作指令如下图所示:
在这里插入图片描述
(2):更改完成后,使用docker service ps指令查看服务副本具体的分布和运行情况(处于running状态即可),具提操作如下图所示:
在这里插入图片描述
7、访问服务
(1):在集群的管理节点中执行docker network ls指令进行查看网络列表,具体效果如下图所示:
在这里插入图片描述
从上图可看出,与非集群环境下的docker网络对比,Docker Swarm集群网络列表中增加了一个以bridge和overlay为驱动的网络,在集群发布服务时,如果没有指定网络,那么默认的使用就是用ingress网络连接的。
(2):在集群管理节点上创建以overlay为驱动的自定义网络,具体操作指令如下图所示:
在这里插入图片描述
从上图看出,上述指令完成了以overlay为驱动创建的一个名为my-multi-host-network的网络。
(3):在集群的管理节点上再次部署服务,具体操作指令如下所示:
(4):在集群管理节点上使用docker service ps my-web指令进行查看服务的两个服务副本运行情况,结果如下图所示:
在这里插入图片描述
(5):进行外部访问服务,打开外部的浏览器,使用任意一台节点机器的"IP+8080"端口进行服务访问,都可以正常显示,具体如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三、Volumes数据卷管理和使用
1、创建并管理数据卷
(1):创建数据卷,在docker主机终端,通过docker volume create指令创建一个名为my-col的数据卷,具体如下图所示:
(2):查看数据卷,使用docker volume ls指令进行查看本地数据卷列表,此指令会列举出本地docker机器上的所有数据卷,具体如下图所示:
在这里插入图片描述
由上图可以看出,新创建的my-col数据卷已经显示在本地的docker机器上,从而说明数据卷已经创建成功。
(3):核查数据卷,使用docker volume inspect指令查看指定数据卷的详情,具体如下图所示:
在这里插入图片描述
从上图可以看出,已经详细的显示了名为my-col的数据卷的详细信息。
(4):删除数据卷,当不在使用数据卷后,可以使用docker volume rm指令进行删除指定名称的数据卷,具体如下图所示:
在这里插入图片描述
2、启动容器并加载数据卷
(1):查看本机容器的数据卷,使用docker ps -a和docker volume ls指令进行查看本地的docker机器上存在的容器和数据卷,为了避免后续实例的演示的干扰,最好将已经存在的容器和数据卷删除,具体如下图所示:
在这里插入图片描述
(2):确认查看本机docker文件系统中的容器和数据卷,此操作要在root用户下进行,切换到root用户下之后进入“/var/lib/docker”目录进行查看信息,具体如下图所示:
在这里插入图片描述
从上图可以看出,本地docker机器的文件系统中包含了两个重要的文件目录,分别为containers和volumes,这两个文件目录就是用于存放用户创建的容器和数据卷的。
(3):启动容器并挂载数据卷,使用docker run指令创建并启动一个容器,同时挂载一个数据卷,具体如下图所示:
在这里插入图片描述
在这里插入图片描述
(4):再次查看本机容器和数据卷列表,在docker主机终端分别使用docker ps -a 和docker colume ls指令查看本地的docker机器上存在的容器和数据卷,具体如下图所示:
在这里插入图片描述
(5):检测容器的详情,在docker主机终端使用docker inspect指令进行查看容器详情,具体如下图所示:
在这里插入图片描述
在这里插入图片描述
(6):再次确认本机docker文件系统,切换至root用户下,进入/var/lib/docker目录下,然后分别进入container和volume文件目录查看内容,具体如下图所示:
在这里插入图片描述
从上图可以看出,新建的两个容器和数据卷已经自动生成在本地docker文件目录中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值