这篇文章主要介绍了docker的高可用配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Docker Compose

Docker Compose 将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr)。Docker Compose 运行的目录下的所有文件(docker-compose.yml, extends 文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker Compose 并没有解决负载均衡的问题,因此需要借助其他工具实现服务发现及负载均衡。

安装Docker Compose

获取docker-compose-linux-x86_64并将其放置到/bin目录下,并做软链接和加可执行权限

chmod +x docker-compose-linux-x86_64
ln -s docker-compose-linux-x86_64 docker-compose

导入haproxy和nginx,方便后续的负载均衡测试

docker load -i haproxy
docker load -i nginx

在/tmp/编写compose配置文件

[root@foundation50 compose]#vim docker-compose.yml 

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第1张 

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第2张

在web1 httpd服务创建安装httpd服务和启动httpd的文件

[root@foundation50 compose]#vim web1/Dockerfile
FROM rhel7:v1 
EXPOSE 80 
RUN yum install -y httpd 
ADD index.html /var/www/html 
CMD ["/usr/sbin/httpd","-D","FOREGROUND"]

在haproxy里建立haproxy.cfg配置文件

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第3张

查看

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第4张

查看haproxy的统计信息

访问172.25.50.1

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第5张

健康检查

关闭web3

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第6张 

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第7张

docker swarm

准备三台虚拟机

server1,server2,server3安装docker并启动服务

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第8张

需要在一个节点上运行docker swarm init,然后在其他节点上运行加入命令即可

[root@server1 ~]# docker swarm init 
[root@server2~]#docker swarm join \
>--tokenSWMTKN-1-51igcdpg4cbgaokq535qis01osel396of153sdlp8k0ljn0rou-2m9sltwkc4uq1vfmp79ous0e4 \ 
> 172.25.50.2:2377 This node joined a swarm as a worker.

在server1上查看节点状态

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第9张 

前面已经导入了nginx,再导入flsak到三台机器

[root@server1 ~]# docker load -i flask.tar
[root@server2 ~]# docker load -i flask.tar
[root@server3 ~]# docker load -i flask.tar

为区分不同后端的负载均衡,用python写的一个显示主机名的语句,导入flask和os

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第10张 

打开flask镜像,将demo.py脚本放到root下

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第11张 

提交

[root@server1 python]# docker commit vm1 python:demo

创建名为flask集群,并启动3个后端服务节点,读取python下的demo.py脚本

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第12张

测试

[root@foundation50 docker]# for i in {1..10}:do curl -w "\n" http://172.25.50.1;done 

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第13张 

因为是三台服务器,所以每三次完成一次轮询,实现了负载均衡

Docker swarm可视化web监控界面

导入镜像并创建

[root@server1 ~]# docker load -i visualizer.tar
[root@server1 ~]# docker service create --name=viz --publish=8080:8080/tcp --constrain=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock dockersamples/visualizer 

查看监控页面

docker的高可用配置详解(docker 高可用部署)  docker 高可用 第14张

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持知优网。

转载请说明出处
知优网 » docker的高可用配置详解(docker 高可用部署)

发表评论

您需要后才能发表评论