乐趣区

Docker-快速安装搭建-Ngnix-环境并配置反向代理

欢迎关注个人微信公众号: 小哈学 Java, 文末 分享阿里 P8 高级架构师吐血总结的《Java 核心知识整理 & 面试.pdf》资源链接!!

个人网站: https://www.exception.site/docker/docker-install-nginx

本节中,我们将学习如何通过 Docker 快速安装 & 搭建 Ngnix, 为您的服务添加反向代理功能。

一、下载 Nginx 镜像

docker pull nginx:alpine

PS:我这里用的是 alipne 轻量级的镜像.

下载完成后,通过 docker images 命令检查一下镜像是否下载成功:

二、先以简单的方式运行镜像

docker run -d --name nginx nginx:alpine
  • -d: 以后台方式运行镜像;
  • —name: 指定容器的名称为 nginx;

命令执行完成后,通过 docker ps命令确认一下容器是否启动成功。确认成功后,再访问一下 80 端口,看看 nginx 服务是否启动成功:

三、复制相关配置文件至宿主机

复制运行中 nginx 相关配置文件到宿主机的指定路径下:

# 复制名称为 nginx 容器中 /etc/nginx/nginx.conf 文件夹到宿主机的 /docker/nginx 路径下
docker cp nginx:/etc/nginx/nginx.conf /docker/nginx
# 复制名称为 nginx 容器中 /etc/nginx/conf.d 文件到宿主机的 /docker/nginx 路径下
docker cp nginx:/etc/nginx/conf.d /docker/nginx

复制完成后,查看指定路径的配置文件,如下:

四、修改 Nginx 配置文件,添加反向代理

先通过命令 ifconfig 命令获取 docker0网卡的 ip 地址:

PS: 因为我需要反向代理的服务部署在本机的 Docker 容器中,所以用的这个 IP,如果你用的外网其他地址,可自行修改。

接下来,在 conf.d/default.config 中添加反向代理相关配置:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.17.0.1:8090;

五、删除刚刚启动的 Nginx 容器,新启动一个

先删除之前启动的 nginx 容器:

docker rm -f nginx

成功后,回到配置文件的主目录,执行:

docker run -d \ 
-p 80:80 \ 
--name nginx \
-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/conf.d:/etc/nginx/conf.d \
-v /docker/nginx/logs:/var/log/nginx \
nginx:alpine 

参数说明:

  • -p 80:80:将容器的 80 端口映射到主机的 80 端口;
  • -v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf:将容器中的 /etc/nginx/nginx.conf 文件挂载到宿主机中的 /docker/nginx/nginx.conf 文件;
  • -v /docker/nginx/conf.d:/etc/nginx/conf.d:将容器中 /etc/nginx/conf.d 目录挂载到宿主机中的 conf.d 目录下;
  • -v /docker/nginx/logs:/var/log/nginx:将容器中的 /var/log/nginx 目录挂载到宿主机中的 /docker/nginx/logs 目录下, 用以查看 Nginx 日志;

运行命令成功后,直接访问公网 IP 的 80 端口,看看是否能够方向代理到 8090 端口的 Spring Boot 服务上:

OK! 大工告成。

免费分享 | 面试 & 学习福利资源

最近在网上发现一个不错的 PDF 资源《Java 核心知识 & 面试.pdf》分享给大家,不光是面试,学习,你都值得拥有!!!

获取方式: 关注公众号: 小哈学 Java, 后台回复 资源 ,既可 免费无套路获取资源链接,下面是目录以及部分截图:

重要的事情说两遍,关注公众号: 小哈学 Java, 后台回复 资源 ,既可 免费无套路获取资源链接!!!

欢迎关注微信公众号: 小哈学 Java

退出移动版