文章目录

  • 一、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可视化)相关推荐

  1. Docker swarm集群管理工具

    1. 简介 Docker Swarm 是Docker的集群管理工具,简单方便.易于上手. Swarm集群由以下两个组件构成: Mananger:负责整个集群的管理工作包括集群配置.服务管理等所有跟集群 ...

  2. Jenkins持续集成结合Docker Swarm集群实现Web应用部署的发布

    案列环境: 准备5台虚拟机,其中3台用于部署Docker Swarm集群,1台部署代码版本控制系统,1台部署Jenkins持续集成工具. 192.168.80.10 swarm01 192.168.8 ...

  3. docker swarm 集群服务编排部署指南(docker stack)

    Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...

  4. 第20 章 Docker Swarm 集群实践

    Docker Swarm 集群实践 文章目录 Docker Swarm 集群实践 **Swarm介绍** **Swarm 特点** **Swarm架构** **Swarm关键概念** 1)Swarm ...

  5. 微服务实战之春云与刀客(五)—— spring cloud与docker swarm集群

    概述 原文:https://yq.aliyun.com/articles/618620 微服务与docker结合是必然的趋势,本文介绍spring cloud与docker swarm集群实现微服务极 ...

  6. Docker集群管理(DockerHub Harbor 打包-Jib 任务编排工具- docker-compose和Swarm)

    Docker 集群管理 Docker 集群管理 镜像仓库管理 DockerHUb仓库管理 什么是DockerHUb 账号注册和登陆 Docker客户端登录 管理镜像 推送镜像 仓库镜像测试 regis ...

  7. Docker Swarm集群仓库和可视化管理

    Docker Swarm集群仓库和可视化管理 1 背景 2 环境 3 安装操作 3.1 registary部署 3.1.1 下载 3.1.2 部署 3.2 portainer部署 3.2.1 下载 3 ...

  8. Docker容器虚拟化技术---Docker运维管理(Swarm集群管理)3

    Docker容器虚拟化技术-Docker运维管理(Swarm集群管理)3 Swarm集群管理 docker swarm是docker官方提供的一套容器编排系统,是Docker公司推出的官方容器集群平台 ...

  9. docker swarm集群创建、配置、可视化管理实验

    什么是docker swarm? docker swarm 是docker原生的docker群集管理.服务编排工具,以命令行的形式创建.管理群集,部署服务,详细参考https://docs.docke ...

最新文章

  1. vmware 打开主页 打开所有库中的虚拟机
  2. 怎样实现强人工智能?
  3. 开源IT从业者最受欢迎5大技能
  4. 如何保证消息不被重复消费啊(如何保证消息消费时的幂等性)?
  5. centos7 nat模式配置静态ip_KUKA机器人-配置Ethernet/IP总线为Adaper模式
  6. It seems that scikit-learn has not been built correctly.
  7. ui-sref与$state.go()的使用
  8. C#逆向反编译工具:JetBrains dotPeek
  9. KNN分类USPS, USI sonar及USI iris
  10. python计算权重_python 计算权重的代码
  11. 20220601超简单百度地图街景图片爬取+绿视率计算
  12. 修改nginx站点根目录总结经验
  13. CSS的压缩 方法与解压
  14. 浅谈数学在计算机科学中的应用,浅谈计算机科学技术在数学思想中的应用(原稿)...
  15. HDU 6441Find Integer
  16. 使用python将罗马字转换为对应的阿拉伯数字
  17. java 后台打开新页面_Java后台打开浏览器窗口
  18. 彻底解密C++宽字符
  19. 【问题解决】mac微信截图只能截到空白页面问题
  20. PYTHON实现批量下载淘宝详情页图片

热门文章

  1. 简单跨域请求和带预检的跨域请求
  2. 大流量限流/消峰案例
  3. Tushare股票分析【四】-- 通过股票代码获取股票名称
  4. 汇编文件大写.S后缀和小写.s后缀的区别
  5. 华南农业大学课设——数据结构课设、Java课设、操作系统课设
  6. KafKa - 分区副本ISR选举机制
  7. 快播“洗白”,难道要抛弃用户?
  8. 晋江文学城网站优化与诊断
  9. 中国医药外包市场发展前景预测与竞争态势分析报告2022-2028年版
  10. 实战:Traefik 高级配置2-2022.1.18