• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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四种网络模式详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    docker的高可用配置详解 docker,的,高可用,高,可用,