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

目录
相关文章
|
16天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
155 77
|
25天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
3天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
27 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
9天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
29 3
实战~如何组织一个多容器项目docker-compose
|
18天前
|
数据建模 应用服务中间件 nginx
docker替换宿主与容器的映射端口和文件路径
通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。
60 3
|
25天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
64 7
|
25天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
32 5
|
25天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
53 4
|
25天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
58 3
|
25天前
|
存储 安全 数据中心
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具。本文探讨了 Docker 如何通过 Namespace 和 Cgroups 实现 CPU、内存、网络和存储资源的隔离,提高系统安全性和资源利用率,以及面临的挑战和应对策略。
43 1