Docker容器---compose搭建haproxy负载均衡

  • Docker Compose
  • Docker Compose 将所管理的容器分为三层,工程(project),服务(service)以及容器 (contaienr)
  • Docker Compose 运行的目录下的所有文件(docker-compose.yml, extends 文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker Compose 并没有解决负载均衡的问题,因此需要借助其他工具实现服务发现及负载均衡。
  • Docker Compose 是一个用来创建和运行多容器应用的工具。使用 Compose 首先需要编写Compose 文件来描述多个容器服务以及之间的关联,然后通过命令根据配置启动所有的容器。 Dockerfile 可以定义一个容器,而一个 Compose 的模板文件(YAML 格式)可以定义一个 包含多个相互关联容器的应用。
  • 使用Compose 基本上分为三步
  • Dockerfile 定义应用的运行环境
  • docker-compose.yml 定义组成应用的各服务
  • docker-compose up 启动整个应用

实验

  • 自己下载的二进制文件移到 /usr/local/bin/,赋予执行权限,做软连接
    在这里插入图片描述
  • 下载haproxy,nginx镜像并且将其导入本地docker容器
    在这里插入图片描述
    在这里插入图片描述
  • 建立/mnt/compose目录编写docker-compose.yml添加负载调度策略
    网页web1及其相应的挂载点及其暴露端口
    在这里插入图片描述
  • 在当前目录下建立web1及其web2目录并且添加轮询调度的web1及其web2界面的相应内容
    在这里插入图片描述
  • 在当前目录下建立haproxy的目录并且添加haproxy的配置文件(该文件可以直接在网上下载)
    在这里插入图片描述
  • 在/mnt/compose目录下开启docker-compose并且检查文件是否有问题
    在这里插入图片描述
  • 查看docker-compose下生成的镜像
    在这里插入图片描述
  • 可以查看日志记录
    在这里插入图片描述
  • 在浏览器测试:172.25.60.1 发现web1和web2之间是轮询的
    在这里插入图片描述
    在这里插入图片描述
  • 查看网页状态
    在这里插入图片描述
  • 停止compose_web1_1 容器
    在这里插入图片描述
  • 再次刷新网页状态发现显示server1为红色
    在这里插入图片描述
  • 在网页查看发现只能看到server2上的内容
    在这里插入图片描述
  • 再次开启容器发现server1的状态变为运行
    在这里插入图片描述
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值