龙空技术网

docker部署Nginx集群

我的运维之路 1119

前言:

当前你们对“docker里面nginx不通”大体比较关怀,大家都想要分析一些“docker里面nginx不通”的相关内容。那么小编也在网摘上汇集了一些关于“docker里面nginx不通””的相关文章,希望小伙伴们能喜欢,看官们快快来学习一下吧!

之前我们已经学会了使用docker部署nginx服务,但是单个nginx可能不能完全满足我们的实际需求,今天我们就来简单的搭建一个nginx集群。实现动态负载。首先我们要准备好基础环境并进行容器使用的目录准备。

演示如下:

在之前的演示中已经创建了一个nginx的容器

接下来,我们再准备另外两个容器。

准备了另外两个容器需要用到的基本目录。

使用docker run命令启用两个新的容器。

容器分别为nginx2 nginx3

创建容器后,我们分别将容器nginx2 nginx3的容器内文件拷贝到物理路径。

拷贝过程

文件准备完成,删除nginx2和nginx3的容器并使用新的带有映射关系的命令启动nginx2和nginx3

此时已经重新建立nginx2和nginx3容器。

此时通过访问8080 8081 8082端口可以正常访问到三个不同的容器。

访问页面正常。

接下来,我们通过修改配置来实现通过访问8080端口访问不同服务器的效果。

为了区分访问到不同的nginx服务,我们修改了nginx2和nginx3的内容。

nginx2和nginx3区分开

进行集群配置前测试,访问8080端口仍然是之前的欢迎界面。

测试页

接下来我们在nginx的容器配置文件添加如下内容

配置意思是访问该容器时,将负载到8080 8081 8082三个端口对应的nginx服务

注:weight参数设置权重,值越大,被访问的概率越高。

配置完成后需要重启nginx服务,因为我们只配置了8080端口对应的nginx容器的配置。所以只重启nginx。并访问nginx对应端口测试。

刷新我们8081 8082对应的nginx服务,并没有变化。

再次刷新8080端口对应的服务

此时访问到了8082对应端口的nginx

再次刷新8080端口对应的服务

此时访问到了8081对应端口的nginx

有时也会访问到nignx8080端口对应的服务

我们通过停止nginx3,来测试其中一个节点被破坏前端的访问情况。

经过多次的刷新测试,我们的nginx服务访问并没有问题,只是不再访问到nginx3

恢复nginx3节点

刷新页面再次正常访问到nginx3前端页面

标签: #docker里面nginx不通