docker--swarm集群管理(结合harbor仓库、docker stack部署、Portainer可视化)
文章目录
- 一、swarm结合harbor私有仓库
- 1.启动配置好的harbor仓库
- 2.在各个节点上配置私有仓库及证书
- 二、docker stack部署
- 1.docker stack与docker-compose的区别
- 2.docker stack相关命令
- 3.编写compose文件部署服务
- 三、结合Portainer可视化
一、swarm结合harbor私有仓库
上篇文章中在swarm部署时需要提前在各个节点先拉取镜像,如果配置好私有仓库,直接指定从私有仓库拉取镜像将会大大提升效率
1.启动配置好的harbor仓库
2.在各个节点上配置私有仓库及证书
<1> cat daemon.json %编辑每个节点上的daemon.json文件,配置好私有仓库路径
{"registry-mirrors": ["https://reg.westos.org"]
}<2> scp -r /etc/docker/certs.d/ serverx:/etc/docker/ %复制证书到每个节点上的相应目录下<3> 记得每个节点都要加仓库的解析
可以在私有仓库中查询到已经上传的镜像:
配置好私有镜像后swarm部署速度明显提升:
二、docker stack部署
1.docker stack与docker-compose的区别
Docker stack不支持“build”指令,它是需要镜像是预先已经构建好的, 所以docker-compose更适合于开发场景;
Docker Compose是一个Python项目,使用Docker API规范来操作容器。
Docker Stack功能包含在Docker引擎中,是swarm mode的一部分。
Docker stack不支持基于第2版写的docker-compose.yml ,也就是version版本至少为3。然而Docker Compose对版本为2和3的 文件仍然可以处理;
docker stack把docker compose的所有工作都做完了,因此docker stack将占主导地位
2.docker stack相关命令
docker stack deploy | 部署新的堆栈或更新现有堆栈 |
---|---|
docker stack ls | 列出现有堆栈 |
docker stack ps | 列出堆栈中的任务 |
docker stack rm | 删除一个或多个堆栈 |
docker stack services | 列出堆栈中的服务 |
3.编写compose文件部署服务
[root@server2 compose]# pwd
/root/compose
[root@server2 compose]# ls
docker-compose.yml
[root@server2 compose]# cat docker-compose.yml
version: '3.9'
services:web:image: myapp:v1 networks:- mynet deploy:replicas: 2 %副本个数update_config: parallelism: 2 %每次更新个数delay: 10s %更新时间间隔restart_policy:condition: on-failurevisualizer:image: visualizer:latestports:- "8080:8080"stop_grace_period: 1m30svolumes:- "/var/run/docker.sock:/var/run/docker.sock"deploy:placement:constraints:- "node.role == manager"networks:mynet:docker stack deploy -c docker-compose.yml my_cluster %通过指定docker-compose.yml文件部署my_cluster集群删除原来部署好的服务:
docker service rm viz
docker service rm my_web
三、结合Portainer可视化
1、yml部署文件下载地址:https://downloads.portainer.io/portainer-agent-stack.yml
cat portainer-agent-stack.yml
version: '3.2'
services:agent:image: agent %修改镜像的名字environment:# REQUIRED: Should be equal to the service name prefixed by "tasks." when# deployed inside an overlay networkAGENT_CLUSTER_ADDR: tasks.agent# AGENT_PORT: 9001# LOG_LEVEL: debugvolumes:- /var/run/docker.sock:/var/run/docker.sock- /var/lib/docker/volumes:/var/lib/docker/volumesnetworks:- agent_networkdeploy:mode: globalplacement:constraints: [node.platform.os == linux]portainer:image: portainercommand: -H tcp://tasks.agent:9001 --tlsskipverifyports:- "9000:9000" %访问的时候ip加端口volumes:- portainer_data:/datanetworks:- agent_networkdeploy:mode: replicatedreplicas: 1placement:constraints: [node.role == manager]networks:agent_network:driver: overlayattachable: truevolumes:portainer_data:2、下载yml部署文件中的相关镜像并上传到私有仓库,从私有仓库下载更快一点,当然也可以直接从网上下载
docker--swarm集群管理(结合harbor仓库、docker stack部署、Portainer可视化)相关推荐
- Docker swarm集群管理工具
1. 简介 Docker Swarm 是Docker的集群管理工具,简单方便.易于上手. Swarm集群由以下两个组件构成: Mananger:负责整个集群的管理工作包括集群配置.服务管理等所有跟集群 ...
- Jenkins持续集成结合Docker Swarm集群实现Web应用部署的发布
案列环境: 准备5台虚拟机,其中3台用于部署Docker Swarm集群,1台部署代码版本控制系统,1台部署Jenkins持续集成工具. 192.168.80.10 swarm01 192.168.8 ...
- docker swarm 集群服务编排部署指南(docker stack)
Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...
- 第20 章 Docker Swarm 集群实践
Docker Swarm 集群实践 文章目录 Docker Swarm 集群实践 **Swarm介绍** **Swarm 特点** **Swarm架构** **Swarm关键概念** 1)Swarm ...
- 微服务实战之春云与刀客(五)—— spring cloud与docker swarm集群
概述 原文:https://yq.aliyun.com/articles/618620 微服务与docker结合是必然的趋势,本文介绍spring cloud与docker swarm集群实现微服务极 ...
- Docker集群管理(DockerHub Harbor 打包-Jib 任务编排工具- docker-compose和Swarm)
Docker 集群管理 Docker 集群管理 镜像仓库管理 DockerHUb仓库管理 什么是DockerHUb 账号注册和登陆 Docker客户端登录 管理镜像 推送镜像 仓库镜像测试 regis ...
- Docker Swarm集群仓库和可视化管理
Docker Swarm集群仓库和可视化管理 1 背景 2 环境 3 安装操作 3.1 registary部署 3.1.1 下载 3.1.2 部署 3.2 portainer部署 3.2.1 下载 3 ...
- Docker容器虚拟化技术---Docker运维管理(Swarm集群管理)3
Docker容器虚拟化技术-Docker运维管理(Swarm集群管理)3 Swarm集群管理 docker swarm是docker官方提供的一套容器编排系统,是Docker公司推出的官方容器集群平台 ...
- docker swarm集群创建、配置、可视化管理实验
什么是docker swarm? docker swarm 是docker原生的docker群集管理.服务编排工具,以命令行的形式创建.管理群集,部署服务,详细参考https://docs.docke ...
最新文章
- vmware 打开主页 打开所有库中的虚拟机
- 怎样实现强人工智能?
- 开源IT从业者最受欢迎5大技能
- 如何保证消息不被重复消费啊(如何保证消息消费时的幂等性)?
- centos7 nat模式配置静态ip_KUKA机器人-配置Ethernet/IP总线为Adaper模式
- It seems that scikit-learn has not been built correctly.
- ui-sref与$state.go()的使用
- C#逆向反编译工具:JetBrains dotPeek
- KNN分类USPS, USI sonar及USI iris
- python计算权重_python 计算权重的代码
- 20220601超简单百度地图街景图片爬取+绿视率计算
- 修改nginx站点根目录总结经验
- CSS的压缩 方法与解压
- 浅谈数学在计算机科学中的应用,浅谈计算机科学技术在数学思想中的应用(原稿)...
- HDU 6441Find Integer
- 使用python将罗马字转换为对应的阿拉伯数字
- java 后台打开新页面_Java后台打开浏览器窗口
- 彻底解密C++宽字符
- 【问题解决】mac微信截图只能截到空白页面问题
- PYTHON实现批量下载淘宝详情页图片