Docker部署nginx负载集群

19 篇文章 0 订阅
6 篇文章 0 订阅

Docker7.1


在docker中部署nginx集群

有点docker swarm的意思,但存在区别。docker swarm是docker集群,而在这里,有着其他意思。


  1. 首先,docker中存在nginx 镜像。
  2. 其次,实例化生成三个容器。(实例化nginx )
  3. 三台容器的IP地址并不需要修改,在生成容器之初不需要指定bridgesub等选项。其中一台容器为主节点需要端口映射,而其他容器并不需要端口映射。

部署过程

docker pull nginx

docker pull daocloud.io/nginx

拉取镜像使用这两条命令中的任意一个,速度第二个快。

在这里插入图片描述


# 实例化容器,注意镜像名需要更换。作者这边用自己编写的dockerfile生成镜像

docker run -itd --name nginx1 -p 8080:80 centos_nginx /bin/bash
# 返回容器ID64位, 在'docker ps'中可以查到,ID为实例化时[:12]
docker run -itd --name nginx2 centos_nginx /bin/bash

docker run -itd --name nginx3 centos_nginx /bin/bash
# 创建三台nginx容器,主节点为第一台名为'nginx1',因为拥有端口映射。其余nginx容器作为负载均衡。

用另外一个终端去检查docker的虚拟网卡bridge

在这里插入图片描述

根据反馈结果,可以看出来bridge 中的存在nginx1-3它们的网卡信息。

在这里插入图片描述

接下来的步骤是nginx1节点的步骤

# 进入容器的方式

docker exec -it [nginx1节点的ID] /bin/bash
# 三台容器都需要的步骤如下

apt update

apt install vim 
# nginx1需要做的

cd /etc/nginx/ 
vim nginx.conf

在这里插入图片描述

相比于没有修改的nginx.conf 文件,现在多了upstream 172.17.0.2server两个字典。

upstream中,可以指定域名,同样可以指定Ip,但是不需要加端口。因为server中已经开始监听80端口了。如果需要,可以修改80端口。

upstream中,填写三台容器中另外两台子节点。因为它们是负载节点,所以分配它们权重值。

重启nginx服务

service nginx restart
# 这一步执行之后,容器将会关闭。因为当前容器依赖的镜像是nginx镜像

# 然后在外部用docker指令将nginx1启动
docker start [nginx1ID]

接下来的步骤是nginx2节点的步骤

# 进入容器的方式

docker exec -it [nginx2节点的ID] /bin/bash

apt

apt update

apt install vim 

然后只需要修改nginx所使用的默认html文件就可以了。

cd /usr/share/nginx/html/

vim index.html

在这里插入图片描述

仅仅只是在<h1>标签中写了一句From 172.16.0.2:80!当然,主节点nginx1不需要修改html文件。但是nginx2nginx3需要修改html文件。在nginx2html文件中,别写成主机点nginx1IP地址。

nginx3节点和nginx2节点步骤一样,只需要将html中的添加一下当前所处容器的IP+port即可(port可加可不加)


最后,附上效果图:

第一次访问:

在这里插入图片描述

因为之前已经访问过了,所以nginx已经对宿主机的IP进行权重分配了。正常第一次访问的时候,是 可以看到没有显示IP的欢迎界面。(没有IP显示的是nginx1)

多次刷新,将可以看到欢迎页面中的IP地址在变化。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值