docker-compose多容器管理的实现

1、部署docker2

下载docker-compose二进制文件文件
    mv docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/ 移动到当前路径
    ln -s /usr/local/bin/docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/docker-compose  给一个短一点的名字,用起来方便
    chmod +x /usr/local/bin/docker-compose给一个执行全权限
   
    docker-compose -v    查看版本是否匹配

2、编写yum文件

[root@docker2 ~]#  mkdir compose
[root@docker2 ~]#  cd compose/
[root@docker2 compose]# vim docker-compose.yml
[root@docker2 compose]# cat docker-compose.yml 
web1:
        image: nginx
        expose:
                - 80
        volumes:
                - ./web1:/usr/share/nginx/html

web2:
        image: nginx
        expose:
                - 80
        volumes:
                - ./web2:/usr/share/nginx/html
haproxy:
        image: haproxy

        volumes:
                - ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro

        links:
                - web1
                - web2
        ports:
                - "80:80"
        expose:
                - "80"

3、拉取镜像

cd compose
    ls    
        docker-compose.ym.
    docker-compose pull        在拉取镜像的时候需要联网,并且会从当前的docker-compose.yml文件中读取需要拉去的镜像,做了阿里的镜像加速器就会很快
导入镜像:
    docker load -i nginx
    docker load -i haproxy

编写测试页面

[root@docker2 ~]# cd compose/
[root@socker2 compose]# mkdir web1
[root@socekr2 compose]# mkdir web2
[root@docker2 compose]# echo web1 > web1/index.html
[root@docker2 compose]# echo web2 > web2/index.html

4、配置haproxy负载均衡

[root@socker2 compose]# mkdir haproxy
[root@docker2 compose]# cd haproxy/
[root@docker2 haproxy]# vim haproxy.cfg
global   #全局设置
        log 127.0.0.1 local0   #日志输出设置,所有日志都记录在本机,通过local0输出
        log 127.0.0.1 local1 notice   #定义haproxy日志级别[error warringinfo debug]
defaults   #默认设置
        log global   #引用全局的日志配置
        mode http   #所处理的类别,默认采用http模式,可配置称tcp作4层消息转发
        option httplog   #启用日志记录HTTP请求,默认haproxy日志记录是不记录HTTP请求日志的
        option dontlognull   #启用该项,日志中将不记录空连接。所谓空连接就是在上游的负载均衡器或者监控系统是为了探测该服务是否存活可用时,需要定期的连接或者获取某一固定的组件或页面,或者探测扫描端口是否在监听或开放等动作被称为空连接;官方文档中标注,如果该服务上游没有其他的负载均衡器的话,建议不要使用该参数,因为互联网上的恶意扫描或其他动作就不会被记录下来。
        timeout connect 5000ms   #haproxy和服务端建立连接的最大时长,其实设置为1秒就足够了。局域网内建立连接一般都是瞬间的
        timeout client 50000ms   #haproxy和客户端保持空闲连接的超时时长,在高并发下可稍微短一点,可设置为5秒以尽快释放连接
        timeout server 50000ms   #haproxy和服务端保持空闲连接的超时时长,局域网内建立连接很快,所以尽量设置短一些,特别是并发时如设置为1-3秒
        stats uri /status   #访问监控界面的uri
frontend balancer   #frontend前端设置
        bind 0.0.0.0:80   #这里建议使用0.0.0.0:80或*:80的方式,要不然做集群高可用的时候有问题,vip切换到其他机器就不能访问了。
        default_backend web_backends   #定义一个web_backends前端部分。此处将对应的请求转发给后端
backend web_backends
        balance roundrobin   #使用RR负载均衡算法(#banlance roundrobin 轮循,banlance source 保存session值,支持static-rr,leastconn,first,uri等参数)
        server web1 web1:80 check   #其中web1会在监控界面上显示
        server web2 web2:80 check   #其中web2会在监控界面上显示

5、测试

开启docker-compose

[root@docker2 compose]# pwd
/root/compose
[root@docker2 compose]# ls
docker-compose.yml  haproxy  web1  web2
[root@docker2 compose]# 
[root@docekr2 compose]# docker-compose up -d    执行的时候当前目录下边必须有.yml文件、

    compose_web2_1 is up-to-date
    compose_web1_1 is up-to-date
    Starting compose_haproxy_1 ... done

6、测试:先结束掉一个容器,查看监控,然后再开起来,看监控

也可访问查看页面

访问:http://172.25.27.2
访问:http://172.25.27.2/status        查看监控

docker-compose ls
docker-compose ps                     查看容器
docker-compose logs                   查看日志

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值