栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

nginx负载均衡之docker容器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nginx负载均衡之docker容器

分为两种情况
1.容器间无关联
这种情况,可以采用除nginx端口外容器应用端口全部都指向nginx所指向的宿主机端口,然后由nginx统一进行负载均衡。
2.容器间为集群模式
这种情况,可以指定集群某个节点为主节点,然后其他全部节点在容器内映射各自的端口,但是记得映射宿主机端口的时候,统一映射到一个端口上,然后nginx负载均衡到集群的各个节点的各个容器的端口。
例如:es集群
容器1:es01
容器2:es02
容器3:es03
容器4:nginx(用来做负载均衡)
映射宿主机需要:
es01 8080:8080
es02 8081:8080
es03 8082:8080

附1:
具体验证过程(包含安装es):
1)拉取es镜像
查看es有哪些镜像,一般选择stars数最多的:
docker search elasticsearch

查看es的版本:
curl https://registry.hub.docker.com/v1/repositories/elasticsearch/tags| tr -d ‘[[]" ]’ | tr ‘}’ ‘n’| awk -F: -v image=‘elasticsearch’ ‘{if(NR!=NF && $3 != “”){printf(“%s:%sn”,image,$3)}}’

选择合适的版本拉取,一般来说es集群选择7.0以上的,7.0以下版本集群配置比较难找:
docker pull elasticsearch:7.0.0

编写配置文件(通过容器编排启动,需安装docker-compose,一般单机部署集群使用):vi docker-compose.yml

这里需要注意的是,启动集群如果不需要负载均衡,那么只需要暴露一个端口即可。如果nginx作为负载均衡,就需要在容器内部暴露不同端口,且映射到宿主机同一端口,然后nginx监听这个端口,根据端口将请求转发到不同的es节点。

在docker中,配置文件一般都通过挂载的方式挂载到容器中,需要将我们自己的nginx的配置文件通过挂载的方式替换掉nginx容器实例内部的配置文件,也就是指nginx.config。

运行启动命令:docker-compose up -d
-d指的是以后台方式运行,如果需要观察启动日志,可以去掉。验证是否启动成功也很简单,直接localhost加端口号访问nginx即可跳转到对应es节点,多次访问会跳转到不同的节点即部署成功。

附2:
安装docker
curl -sSL https://get.daocloud.io/docker | sh
安装docker-compose
curl -L “https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
添加执行权限:chmod +x /usr/local/bin/docker-compose
需要把docker-compose设置为全局环境变量,可通过软链接的方式:ln -sf /usr/local/bin/docker-compose /usr/bin

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/866600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号