首页 > 技术文章 > 利用docker实现nginx反向代理

demoduan 2022-02-22 10:59 原文

部署环境:

 (192是宿主机的IP地址,172是虚拟网卡docker0的IP地址)

 首先,从dockerhub上下载所需要的镜像

 创建两个目录,作为httpd的两个不同网页

 然后编辑两个网页的index.html文件

 创建一个httpd容器并查找容器内对应的网页文件

 接下来创建两个httpd容器并且将宿主机的index.html文件映射到容器中

 最后创建一个nginx容器来实现反向代理的功能

 创建nginx容器的同时也创建了一个名字为nginx的volume(因为上面这条命令-v后面指定的volume不存在时会自己创建)

 查看nginx volume的详细信息

 我们进入到上面这个目录去编辑nginx的配置文件

 [docker-study root _data]# vim nginx.conf

在配置文件中加入以下内容

 在配置文件中加入以下内容

两个配置文件中的reverse_proxy名字要保持一致,也可以是其它名字

编辑完配置文件重启nginx容器,或者进入nginx容器中执行nginx -s reload命令(-s为signal)

 访问web界面验证反向代理

 

 

 相同的IP,每刷新一次,网页就变成两个相应httpd容器的网页内容,由此可见,反向代理部署成功

我们如果在第一个配置文件中加入比重

 然后重启nginx容器

 你就会发现刷新访问web网页时,做了82端口映射的容器的网页文件出现的频率就是另一个的两倍

推荐阅读