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/,赋予执行权限,做软连接
    Docker容器---compose搭建haproxy负载均衡_第1张图片
  • 下载haproxy,nginx镜像并且将其导入本地docker容器
    Docker容器---compose搭建haproxy负载均衡_第2张图片
    Docker容器---compose搭建haproxy负载均衡_第3张图片
  • 建立/mnt/compose目录编写docker-compose.yml添加负载调度策略
    网页web1及其相应的挂载点及其暴露端口
    Docker容器---compose搭建haproxy负载均衡_第4张图片
  • 在当前目录下建立web1及其web2目录并且添加轮询调度的web1及其web2界面的相应内容
    Docker容器---compose搭建haproxy负载均衡_第5张图片
  • 在当前目录下建立haproxy的目录并且添加haproxy的配置文件(该文件可以直接在网上下载)
    Docker容器---compose搭建haproxy负载均衡_第6张图片
  • 在/mnt/compose目录下开启docker-compose并且检查文件是否有问题
    在这里插入图片描述
  • 查看docker-compose下生成的镜像
    Docker容器---compose搭建haproxy负载均衡_第7张图片
  • 可以查看日志记录
    在这里插入图片描述
  • 在浏览器测试:172.25.60.1 发现web1和web2之间是轮询的
    在这里插入图片描述
    Docker容器---compose搭建haproxy负载均衡_第8张图片
  • 查看网页状态
    Docker容器---compose搭建haproxy负载均衡_第9张图片
  • 停止compose_web1_1 容器
    在这里插入图片描述
  • 再次刷新网页状态发现显示server1为红色
    Docker容器---compose搭建haproxy负载均衡_第10张图片
  • 在网页查看发现只能看到server2上的内容
    在这里插入图片描述
  • 再次开启容器发现server1的状态变为运行
    Docker容器---compose搭建haproxy负载均衡_第11张图片

你可能感兴趣的:(企业运维)