企业—Docker容器之haproxy实现Docker容器(nginx)的负载均衡

部署如下:

1.添加docker-compose环境变量

[root@server1 ~]# ls
docker-compose-Linux-x86_64-1.22.0  
[root@server1 ~]# mv docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/
[root@server1 ~]# cd /usr/local/bin/
[root@server1 bin]# chmod +x docker-compose-Linux-x86_64-1.22.0 
[root@server1 bin]# ln -s docker-compose-Linux-x86_64-1.22.0 docker-compose

在这里插入图片描述
2.下载haproxy,nginx镜像并且将其导入本地

[root@server1 ~]# docker load -i haproxy.tar 
[root@server1 ~]# docker load -i nginx.tar 

3.建立/mnt/compose目录编写docker-compose.yml添加负载调度策略

[root@server1 ~]# mkdir -p /mnt/compose
[root@server1 ~]# cd /mnt/compose/
[root@server1 compose]# vim docker-compose.yml
文件编辑内容如下:
//网页web1及其相应的挂载点及其暴露端口
web1:
      image: nginx
      expose:
              - 80
      volumes:
              - ./web1:/usr/share/nginx/html
//web2同web1
web2:
      image: nginx
      expose:
              - 80
      volumes:
              - ./web2:/usr/share/nginx/html
//添加haproxy
haproxy:
         image: haproxy
         volumes:
                 - ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
         links:
                 - web1
                 - web2
         ports:
                 - "80:80"
         expose:
                 - 80

4.在当前目录下建立web1及其web2目录并且添加轮询调度的web1及其web2界面的相应内容
在这里插入图片描述
5.在当前目录下建立haproxy的目录并且添加haproxy的配置文件

[root@server1 compose]# pwd
/mnt/compose
[root@server1 compose]# mkdir haproxy
[root@server1 compose]# cd haproxy/
[root@server1 haproxy]# vim haproxy.cfg
文件编辑内容如下:
global
        log 127.0.0.1 local0
        log 127.0.0.1 local1 notice
defaults
        log global
        mode http
        option httplog
        option dontlognull
        timeout connect 5000ms
        timeout client 50000ms
        timeout server 50000ms
        stats uri /status
frontend balancer
        bind 0.0.0.0:80
        default_backend web_backends
backend web_backends
        balance roundrobin
        server server1 web1:80 check
        server server2 web2:80 check

6.在/mnt/compose目录下开启docker-compose并且检查文件是否有问题
在这里插入图片描述
7.查看docker-compose下生成的镜像
在这里插入图片描述
8.在浏览器测试
http://172.25.254.1/
//发现web1和web2之间是轮询的
在这里插入图片描述
在这里插入图片描述
//查看网页状态:
在这里插入图片描述
//停止compose_web1_1 容器
在这里插入图片描述
//再次刷新网页状态发现显示server1为红色
在这里插入图片描述
//在网页查看发现只能看到server2上的内容
在这里插入图片描述
//再次开启容器发现server1的状态变为运行
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值