应用容器引擎之 docker 学习 (九) 多容器管理工具Docker-compose实现 haproxy+nginx的负载均衡
Docker-compose是什么
1.Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。
它是一个定义和运行多容器的docker应用工具。
使用compose,你能通过YMAL文件配置你自己的服务,然后通过一个命令,你能使用配置文件创建和运行所有的服务。
2.Compose是一个定位“定义和运行多个Docker容器应用的工具”,其前身是Fig,目前使用的Compose仍然兼容Fig格式的模板文件。
我们知道在Docker中构建自定义的镜像是通过使用Dockerfile模板文件来实现的,从而可以让用户很方便定义一个单独的应用容器。
而Compose使用的模板文件就是一个YAML格式文件,它允许用户通过一个docker-compose.yml
来定义一组相关联的应用容器为一个项目(project)
3.在Compose中有两个重要的概念:
服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
项目(project):由一组关联的应用容器组成的一个完成业务单元,在docker-compose.yml中定义。
以上可以理解为:
服务(service)就是在它下面可以定义应用需要的一些服务,代表配置文件中的每一项服务。每个服务都有自己的名字、使用的镜像、挂载的数据卷、所属的网络、依赖哪些其他服务等等,即以容器为粒度,用户需要Compose所完成的任务。
项目(project)代表用户需要完成的一个项目,即是Compose的一个配置文件可以解析为一个项目,即Compose通过分析指定配置文件,得出配置文件所需完成的所有容器管理与部署操作。
Docker-compose的常用命令
Docker-compose实现haproxy负载均衡
1.实验目的
使用docker compose管理nginx、haproxy镜像,实现nginx网页的高可用,其实就是在一台宿主机上同时利用多个镜像拉起多个容器,实现负载均衡。
2.实验背景:
服务端ser1(172.25.2.2) 安装好docker相关组件,配置好服务
测试端真机(172.25.2.250) 测试web负载均衡
compose的部署
之前的实验已经部署过compose,这里放上代码
1.
得到compose的安装包,发送至ser1
[aaa@qq.com ~]# mv docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/docker-compose 设置快捷方式
给一个短一点的名字,用起来方便
[aaa@qq.com ~]# chmod +x /usr/local/bin/docker-compose给一个执行权限
[aaa@qq.com ~]# ll /usr/local/bin/docker-compose查看一下
2.
3.
4.为了获得yml文件中定义的数据文件
5.6.7.8.
9.执行docker-compose时发现报错(-d表示打入后台)
解决:删除docker-compse建立的容器,重新up
查看日志
测试
在浏览器中发现haproxy的监控界面
为后端服务器创建共享目录
1.2.3.4.5.在ser1中创建自己的测试文件
测试时发现
可以看出app1变红
app1恢复正常
总结:
上一篇: xinputemulator PHP操作XML作为数据库的类
下一篇: 关于VSphp的问题