欢迎关注个人微信公众号: 小哈学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

Docker 快速安装搭建 Ngnix 环境,并配置反向代理相关推荐

  1. Nginx1.6.2版本安装遇到的坑以及配置反向代理

    Nginx1.6.2版本安装遇到的坑以及配置反向代理 本文基于https://www.runoob.com/linux/nginx-install-setup.html教程进行安装,安装过程中和使用中 ...

  2. 【Asp.net Core】在 Linux 子系统中安装 nginx 并配置反向代理

    上一篇鸟文中,老周已经介绍过在 Ubuntu 子系统中安装 dotnet-sdk 的方法,本文老周给大伙伴们说说安装 nginx 服务,并配置反向代理.同样,老周假设你从来没有用过 Linux,所以老 ...

  3. 使用Docker快速安装部署ES和Kibana并配置IK中文分词器以及自定义分词拓展词库

    使用Docker快速安装部署ES和Kibana的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后, ...

  4. Docker快速安装Sybase数据库DBeaver数据库图形化管理开发工具

    Docker快速安装Sybase数据库 Sybase 15.7 Based on ifnazar/sybase_15_7 Needs about 30 seconds after start for ...

  5. 使用docker快速安装Oracle11gR2

    使用docker快速安装Oracle11gR2 0. 前言 1. 安装及配置docker 2. 使用docker下载Oracle11g安装包镜像 3. 使用安装运行Oracle11g 4. 配置Ora ...

  6. 使用Docker快速安装部署mysql

    使用Docker快速安装部署mysql的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后,就可以使 ...

  7. 一个大浪Java罢工(一个)安装JDK和环境变量配置

    一个.基础知识 (一)什么是Java? Java是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台( ...

  8. centos8安装搭建php环境

    原文章地址 centos8安装搭建php环境 window/centos双系统安装完成之后,接下来在centos上搭建php的环境. 网上也有很多安装的教程,其实都一个样,以下我直接使用yum安装.默 ...

  9. ubuntu mysql 环境,Ubuntu下安装搭建MySQL环境步骤介绍

    摘要 腾兴网为您分享:Ubuntu下安装搭建MySQL环境步骤介绍,翼拍照,易码平台,洋葱数学,小度等软件知识,以及poco美人相机,收卡啦,crc16校验工具,ps画笔样式,机械标准件,法硕联盟论坛 ...

最新文章

  1. 在智能家庭用OpenCV实现人员检测
  2. 猜一个介于1-10之间的数字,反复执行直到猜中为止
  3. tensorflow 集成开发环境 (IDE)
  4. 分布式事务中间件Fescar—全局写排它锁解读
  5. 思科三层交换机充当路由器实现全网互通
  6. 《Java学习指南》—— 1.4 设计安全
  7. brew 安装软件能指定文件夹吗_Mac下Homebrew安装的软件放在什么地方
  8. android_今天的收获
  9. c++调试窗口不见了_Sublime Text配置GDB调试环境
  10. UEditor手动调节其宽度
  11. libopus 实现pcm 编码到opus
  12. 小程序camera组件设置前前置摄像头无效
  13. 利用ansys计算机械结构最小安全系数教程,安全系数
  14. 湖南对口升学计算机专科学院,湖南省计算机对口升学的大学有哪些
  15. 南卡NEO骨传导首发新机,超前无线充设计,树立行业标杆!!!
  16. win10微软图标点击无反应_win10任务栏开始菜单等系统图标点击无反应的解决方法...
  17. java SQL常用语句总结大全(超详细)
  18. 物理学的困惑: 个体与交互
  19. 2022年全球市场切削刀具总体规模、主要生产商、主要地区、产品和应用细分研究报告
  20. 深圳软件测试培训:软件测试的工资高还是开发者工资高?

热门文章

  1. 用Mybatis框架运行后报java: The class java.lang.IllegalArgumentException may be caused by the wrapped Proces
  2. Parsing error: Adjacent JSX elements must be wrapped in an enclosing tag
  3. [AcWing] 1018. 最低通行费(C++实现)数字三角形模型
  4. 制作WinPE步骤教程
  5. 人性的弱点-阅读手记
  6. 推荐几个免费且高质量无版权的视频素材网站,记得收藏
  7. oracle ebs维保费用,ebs oracle YTD期间费用
  8. 阿里旺旺买家版发现升级模块遭到劫持用来投放病毒
  9. HTML 使用表格制作简单的个人简历
  10. Python 实现 一键Wifi小助手