Swarm实战Docker容器集群,基于Linux环境部署Web集群例子

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Docker容器进行大规模集群部署实战,如何来做呢?肯定不能手动一个机器一个机器控制了,必须找到更高效等方式。 Docker官方提供了容器编排和集群管理工具Swarm。来解决大规模集群快速部署和监控等问题。

Docker容器进行大规模集群部署,如何来做呢?肯定不能手动一个机器一个机器控制了,必须找到更高效等方式。
Docker官方提供了容器编排和集群管理工具Swarm。来解决大规模集群快速部署和监控等问题。

image

Docker是开源容器工具,之前我们讲过单节点模式下实战部署Java 或者MySQL、MongoDB等应用。今天我们来实战一下Docker集群和快速模式。Docker容器集群分布式架构模式,是互联网大规模部署运维利器。可以快速部署,伸缩目前开源领域的绝大部分服务器端程序,包括自定义开发的Java等应用镜像。
image
如果你没有安装过Docker,我们推荐等是Linux或者Mac环境,Docker镜像服务器,我们使用等是阿里云仓库。

1、安装首先安装传输加密组件,然后来下载docker
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
image

2: 安装阿里云docker 安全协议GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
image

3: 仓库写入阿里云Docker软件源信息,选择stable版本
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
image
使用阿里云Docker仓库速度比较快。
4: 更新资源列表,安装新版本Docker-CE,社区版本。
sudo apt-get -y update
sudo apt-get -y install docker-ce
image
5、检查Docker版本,是否成功安装
输入docker version命令,可以查看安装的Docker版本信息。
image
6、运行Docker Hello World
最简单的例子就是 Hello world,docker会从服务器拉去hello world镜像,并且在本地运行。
sudo docker run hello-world
image
Docker安装成功,并且可以执行最简单的镜像,入门例子。
7、搜索Docker镜像
这里搜索alibaba关键字
image
可以看到仓库中返回的Doccur镜像列表。
8、Docker集群,3个节点。节点可以动态扩展
我们模拟等Docker集群包含3个节点,当然后期可以动态加入更多等服务器节点进入Docker集群。非常等方便。这里为了模拟Docker集群,我们假设有3个节点。3个服务器等IP地址分别对应关系:

1个Manager节点   192.168.217.143
1个Worker01节点  192.168.217.144
1个Worker02节点  192.168.217.145
使用命令:docker swarm init 初始化集群等第一个节点作为管理几点,执行命令等结果如下:

image

9、加入Worker节点到集群中
使用命令:docker swarm join --token SWMTKN-1-042uawbpq7syfjggwl9h4mb4yqd0a67rb9pdrlh24qgh6wd98g-ejpq8hnf6w6zii9codj5pn565 192.168.217.143:2377
把2个节点加入到集群中。
image

10、 查看Docker集群状态信息
添加集群节点完毕后,可以使用docker node ls命令查看Docker集群状态信息。
image

11、通过Docker创建Web服务程序,
创建一个网站命令作为测试例子,docker service create --name webapp --publish 80:80 nginx。
我们也可以使用自己制作到Java Spring Boot 2.x网站作为例子。
image

12、快速伸缩到6个实例集群模式
为了测试Docker集群伸缩特性模式,我们可以通过命令快速创建出6个节点。
使用到命令是docker service scale webapp=6
image

image
这样我们就成功安装docker swarm集群,并部署了Web网站作为测试。
阿里巴巴Java群超过3500人
直播地址:Java技术进阶群
进群方式:钉钉扫码入群
image
阿里巴巴MongoDB群
image

目录
相关文章
|
23天前
|
运维 监控 安全
构建高效自动化运维体系:Ansible与Docker的协同实战
【5月更文挑战第25天】 在当今快速迭代的软件发布环境中,自动化运维成为确保部署效率和可靠性的关键。本文通过深入分析Ansible和Docker技术,探索它们如何协同工作以构建一个高效的自动化运维体系。文章不仅介绍了Ansible的配置管理功能和Docker容器化的优势,还详细阐述了将两者结合的实践策略,旨在帮助读者理解并实现更智能、更灵活的基础设施管理。
|
13天前
|
关系型数据库 应用服务中间件 数据库
编程入门(一)【Web服务器环境的部署】
编程入门(一)【Web服务器环境的部署】
29 1
|
18天前
|
JavaScript 前端开发
基于 Node.js 环境,使用内置 http 模块,创建 Web 服务程序
基于 Node.js 环境,使用内置 http 模块,创建 Web 服务程序
|
28天前
|
Cloud Native 测试技术 数据库
【云原生之Docker实战】使用Docker部署flatnotes笔记工具
【5月更文挑战第17天】使用Docker部署flatnotes笔记工具
70 8
|
28天前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
212 3
|
1月前
|
运维 Linux Docker
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
|
1月前
|
运维 Linux Docker
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
ChatGLM3在Docker环境部署(1),Linux运维电话面试技巧
|
1月前
|
监控 安全 Cloud Native
【云原生之Docker实战】使用Docker部署Ward服务器监控工具
【5月更文挑战第11天】使用Docker部署Ward服务器监控工具
54 4
|
1月前
|
Cloud Native 安全 Linux
【云原生之Docker实战】使用Docker部署mBlog微博系统
【5月更文挑战第10天】使用Docker部署mBlog微博系统
32 2
|
1天前
|
监控 Java 数据安全/隐私保护
性能监控之 JMX 监控 Docker 容器中的 Java 应用
【6月更文挑战9天】性能监控之 JMX 监控 Docker 容器中的 Java 应用
16 1