天天看点

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

Docker容器进行大规模集群部署,如何来做呢?肯定不能手动一个机器一个机器控制了,必须找到更高效等方式。

Docker官方提供了容器编排和集群管理工具Swarm。来解决大规模集群快速部署和监控等问题。

Swarm实战Docker容器集群,基于Linux环境部署Web集群例子
Docker是开源容器工具,之前我们讲过单节点模式下实战部署Java 或者MySQL、MongoDB等应用。今天我们来实战一下Docker集群和快速模式。Docker容器集群分布式架构模式,是互联网大规模部署运维利器。可以快速部署,伸缩目前开源领域的绝大部分服务器端程序,包括自定义开发的Java等应用镜像。
Swarm实战Docker容器集群,基于Linux环境部署Web集群例子

如果你没有安装过Docker,我们推荐等是Linux或者Mac环境,Docker镜像服务器,我们使用等是阿里云仓库。

1、安装首先安装传输加密组件,然后来下载docker

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

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

2: 安装阿里云docker 安全协议GPG证书

curl -fsSL

http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
Swarm实战Docker容器集群,基于Linux环境部署Web集群例子

3: 仓库写入阿里云Docker软件源信息,选择stable版本

sudo add-apt-repository "deb [arch=amd64]

http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Swarm实战Docker容器集群,基于Linux环境部署Web集群例子

使用阿里云Docker仓库速度比较快。

4: 更新资源列表,安装新版本Docker-CE,社区版本。

sudo apt-get -y update

sudo apt-get -y install docker-ce

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

5、检查Docker版本,是否成功安装

输入docker version命令,可以查看安装的Docker版本信息。

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

6、运行Docker Hello World

最简单的例子就是 Hello world,docker会从服务器拉去hello world镜像,并且在本地运行。

sudo docker run hello-world

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

Docker安装成功,并且可以执行最简单的镜像,入门例子。

7、搜索Docker镜像

这里搜索alibaba关键字

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

可以看到仓库中返回的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 初始化集群等第一个节点作为管理几点,执行命令等结果如下:           
Swarm实战Docker容器集群,基于Linux环境部署Web集群例子

9、加入Worker节点到集群中

使用命令:docker swarm join --token SWMTKN-1-042uawbpq7syfjggwl9h4mb4yqd0a67rb9pdrlh24qgh6wd98g-ejpq8hnf6w6zii9codj5pn565 192.168.217.143:2377

把2个节点加入到集群中。

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

10、 查看Docker集群状态信息

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

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

11、通过Docker创建Web服务程序,

创建一个网站命令作为测试例子,docker service create --name webapp --publish 80:80 nginx。

我们也可以使用自己制作到Java Spring Boot 2.x网站作为例子。

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

12、快速伸缩到6个实例集群模式

为了测试Docker集群伸缩特性模式,我们可以通过命令快速创建出6个节点。

使用到命令是docker service scale webapp=6

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

这样我们就成功安装docker swarm集群,并部署了Web网站作为测试。

阿里巴巴Java群超过3500人

直播地址:Java技术进阶群

进群方式:钉钉扫码入群

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

阿里巴巴MongoDB群

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