docker的高可用配置详解

 更新时间:2018年09月18日 14:52:52   作者:unique_niebie  
这篇文章主要介绍了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 

 

在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配置文件

查看

查看haproxy的统计信息

访问172.25.50.1

健康检查

关闭web3

 

docker swarm

准备三台虚拟机

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

需要在一个节点上运行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上查看节点状态

 

前面已经导入了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

 

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

 

提交

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

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

测试

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

 

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

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容器进行健康检查,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 使用Docker将容器打成镜像的方法步骤

    使用Docker将容器打成镜像的方法步骤

    本文主要介绍了使用Docker将容器打成镜像的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Docker如何打包本地环境为tar包给别人使用

    Docker如何打包本地环境为tar包给别人使用

    这篇文章主要介绍了Docker如何打包本地环境为tar包给别人使用问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Docker 多主机网络通信详细介绍

    Docker 多主机网络通信详细介绍

    这篇文章主要介绍了Docker 多主机网络通信详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Docker如何使用link建立容器之间的连接

    Docker如何使用link建立容器之间的连接

    本篇文章主要介绍了Docker如何使用link建立容器之间的连接,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • docker中容器数据卷volume介绍

    docker中容器数据卷volume介绍

    大家好,本篇文章主要讲的是docker中容器数据卷volume介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 在 Docker 环境中部署和运行 Nginx 的方法

    在 Docker 环境中部署和运行 Nginx 的方法

    在当今的技术领域,Docker 就像一位神奇的魔法师,能够让我们轻松地管理和部署各种应用程序,这篇文章主要介绍了在 Docker 环境中部署和运行 Nginx 的方法,需要的朋友可以参考下
    2024-12-12
  • 在Ubuntu中安装Docker和docker的使用方式

    在Ubuntu中安装Docker和docker的使用方式

    这篇文章主要介绍了在Ubuntu中安装Docker和docker的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • docker运行容器远程挂载卷的方法

    docker运行容器远程挂载卷的方法

    本篇文章主要介绍了docker运行容器远程挂载卷的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Dockerfile制作镜像的常用指令详解

    Dockerfile制作镜像的常用指令详解

    这篇文章主要介绍了Dockerfile制作镜像的常用指令,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02

最新评论