目录
一、Docker Stack 的概述及相关命令
二、实验环境的部署和清理
三、部署一个简单的Stack服务
四、镜像的更新
五、资源的控制
六、图形界面portainer的部署
一、Docker Stack概念
- 技术由来:Docker Swarm在大规模场景下的多服务部署和管理是一件很难的事情,为解决此问题,产生了Docker stack,
- Docker Stack基于Docker Swarm之上来完成对多服务进行部署和管理的
- 实现方式:通过使用与Compose一样的yml文件中定义应用,然后通过 docker stack deploy 命令完成部署和管理
- 体系结构:Stack 位于 Docker 应用层级的最顶端。Stack 基于服务进行构建,而服务又基于容器
- Docker Stack与Docker Compose区别:
- Docker stack 不支持 "build" 指令它需要的镜像是预先已经构建好的,所以Docker-Compose 更适合开发场景
- Docker stack 功能包含在Docker引擎中,是Swarm mode的一部分
- Docker Stack是集成在Docker引擎中的,直接使用命令即可,而Docker Compose 则是一个Python项目,使用Docker API规范操作容器
- Docker Stack不支持version 2的yml文件,至少version 3以上。而Docker Compose 对version 2或3都可以处理
- Docker Stack 更适合处理多服务也能处理单机服务,而Docker Compose 仅能处理单机服务,所以Docker Stack 可以把Docker Compose的工作都处理了,占据了主导地位。
- 命令
docker stack 相关的命令:
二、实验环境的部署和清理
- 官网链接:https://docs.docker.com/compose/compose-file/
如何缩短镜像的名称 创建一个私有加速器的文件 这样拉取到的镜像名称就会缩短
查看镜像
查看数据卷列表
清理掉不用的网络
在reg.westos.org上 :
清理掉不用的卷组:
三、部署一个简单的Stack服务
- 配置docker-compose.yml文件
- 测试
- 副本的拉伸
- 对于存储的简介
1、制作一个yml文件,开启一个web服务,使用nginx容器,生成3个副本,自定义卷与网络
(1)、查看官网的配置信息
(2)、将官网的配置信息写入docker-compose.yml文件中
(3)、自动部署stack
2、测试:
查看创建的3个副本与各个节的匹配情况
3、拉伸副本的个数 :
拉伸副本数为10个
创建stack副本
4、Stack存储简介
每个节点上会自动创建一个挂载卷 (但是每个节点上的数据都是独立的)
在本地挂载的卷,数据不能同步到其他节点上
(如果想要同步各个节点的数据,需要做分布式存储)
stack的存储:
查看磁盘存储的位置
在发布的目录中写入
vim index.com
访问reg.westos.org
(因为有10个副本三个节点所以一个节点对应多个副本
在server4上 :
(reg.westos.org上的步骤)
(访问的各个节点的数据都不一样)
四、给服务加监控:
- 配置docker-compose.yml文件
- 测试
- 登录网页查相关的监控信息
1、配置docker-compose.yml文件、部署Stack
(1)、配置docker-compose.yml文件
(2)部署Stack
(3)、查看部署项目的名称
(可以看到新部署的镜像已经生效)
2、测试
(1)、查看8080端口是否开启
3、打开浏览器输入:172.25.6.1:8080
五、镜像的滚动更新
(只需要在文件中将原来的镜像修改为需要更新的镜像即可)
- 私有仓库导入镜像、查看官网信息
- 配置docker-compose.yml文件、添加限制内存的配置
- 在网页上查看更
1、在私有仓库的管理节点上首先导入httpd镜像
(1)、上传镜像
(3)、在私有仓库的登录页面上:
(4)、在server1上拉取镜像:
(5)、打开官网查看滚动更新的配置信息
2、修改yml文件,更新内容由容器nginx变为httpd
部署、
3、在网页上输入:172.25.6.1:8080 查看更新的情况
查看httpd镜像对应的Pid
官方文档中:RESOURCES部分
- 查看没有限制前的内存
- 配置docker-compose.yml文件、添加限制内存的配置
- 测试
1、查看没有限制时的状态
(2)查看内存容量的大小
2、限制内存
配置docker-compose.yml文件、添加限制内存的配置
(1)、查看官网信息
(2)、修改docker-compose.yml文件信息
3、测试
再次查看内存已经变成原来的二分之一
图形界面portainer的部署
官方网站:https://www.portainer.io/
安装前准备
portainer运行文件:https://downloads.portainer.io/portainer-agent-stack.yml
portainer软件:portainer/portainer 和portainer/agent,在公有DockerHUB中可以下载,存放在本地harbor仓库中
- 在私有仓库的控制节点上拉取镜像
- 在server1上部署portainer图形化
- 在网页上登录验证
1、在私有仓库的管理节点上使用阿里云加速从官网上直接拉取镜像
2、部署portainer图形化命名为portaine
(2)、在各个节点上也要部署portaninet/agent 镜像(否则无法监控到其他页面的情况)
3、在网页上输入:172.25.6.1:9000
(1)、第一次登录,设置8位数密码
(2)、查看服务:
(3)、改变监控的个数
(4)、查看集群的监控页面
(4)、直接在原来页面上修改: