亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

『中級篇』Docker 水平擴展和負載均衡(40)

Docker Compose 里面的scale 设置服务运行的容器数量。源码地址:https://github.com/limingios/docker中的No.4

服务先创建起来
  • 项目路径
ls
cd flask-redis/
pwd

  • 项目安装
    sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

sudo service docker restart
sudo docker-compose up

cd labs/flask-redis/
sudo docker-compose ps

  • scale 命令的使用

    设置为一个服务启动的容器数量,数量是以这样的参数形式指定的:service=num

    docker-compose up --scale web=3 -d

直接报错了。看下源码为什么报错。

  • 修改docker-compose.yml文件

    ports 去掉。 在试试

    version: "3"
    services:
    redis:
    image: redis
    web:
    build:
    context: .
    dockerfile: Dockerfile
    environment:
    REDIS_HOST: redis

  • 执行命令

    一个--scale 容器名=数字,就可以随时让web进行扩展。感觉很方便把!

    #-d后台运行
    sudo docker-compose up -d
    #启动了2个容器,1个web,1个resdis
    sudo docker-compose ps
    #水平扩展给web的容器增加到3个
    sudo docker-compose up --scale web=3 -d
    #启动了4个容器,3个web,1个resdis
    sudo docker-compose ps

但是问题来了没有暴露到外边的端口都是5000内部端口,所以出来了一个命令负载均衡工具:haproxy

  • haproxy

    HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
    其实跟上边的例子很相似,只是把python应用的端口改成了80,使用了一个新的image把80映射到本地的8080。

cd lb-scale/
ls
pwd

more app.py

image.png

more Dockerfile

more docker-compose.yml 

  • docker-compose 安装lb
    sudo docker-compose up -d
    #访问下看可以不
    curl http://127.0.0.1:8080
    sudo docker-compose up --scale web=10 -d
    curl http://127.0.0.1:8080

    https://hub.docker.com/r/dockercloud/haproxy/
    dockercloud / haproxy 这个是测试学习用的,老铁们只要知道这个东西就可以了,实际项目中,主要用的nginx,到时候我会演示。

个人技术主页:idig8.com

PS:Docker的scale 可以扩展,也可以所有,他们自动来控制的。web=10 可以改成5 其中的6,7,8,9,10就被删除了。

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
1.7萬
獲贊與收藏
1318

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消