Docker配置Nginx反向代理

文章目录

  • 1.部署微程序到docker中
    • 1.1 dockerfile文件
    • 1.2 依据自定义的dockerfile文件创建docker镜像
    • 1.3 创建容器
    • 1.4 测试
  • 2.在docker中安装Nginx
    • 2.1 安装Nginx镜像
    • 2.2 获取Nginx配置文件并将其同步到宿主电脑指定位置中
      • 安装nginx容器
      • 删除nginx容器
    • 2.3 安装Nginx容器并数据挂载
    • 2.4 测试
  • 3.反向代理
      • 3.1 配置
      • 3.2 测试
  • 参考:

1.部署微程序到docker中

1.1 dockerfile文件

从基础镜像openjdk开始构建,其中openjdk镜像包括Java运行最基本环境以及tomcatdebian系统

# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区 防止在查看数据库日志出现时间错乱
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY helloworld-0.0.1-SNAPSHOT.war /app.jar
# 入口 启动容器时将执行 java -jar /app.jar 命令
ENTRYPOINT ["java", "-jar", "/app.jar"]
  • helloworld-0.0.1-SNAPSHOT.war是我的springboot简单微程序打包,主要功能有:

    image-20231107142935894

    image-20231107144317567

1.2 依据自定义的dockerfile文件创建docker镜像

进入目录:

image-20231106235420797

执行指令,这里的.指的是Dockerfile文件的所在目录

docker build -t docker-demo .

image-20231107144449803

1.3 创建容器

docker run -d --name dd -p 8088:8080 docker-demo

image-20231107144522215

1.4 测试

在宿主浏览器中输入:http://localhost:8008/hello

image-20231107152049096

2.在docker中安装Nginx

2.1 安装Nginx镜像

docker pull nginx

image-20231107145100710

2.2 获取Nginx配置文件并将其同步到宿主电脑指定位置中

安装nginx容器

docker run --name nginxdemo  -p 8880:80  -d nginx

image-20231107145516785

将容器nginx配置文件复制到宿主电脑中(这里存放目录为:E:\DockerContainersTest\Nginx

docker cp nginx:/etc/nginx/nginx.conf E:\DockerContainersTest\Nginx   #nginx 默认配置文件夹
docker cp nginx:/etc/nginx/conf.d E:\DockerContainersTest\Nginx    #nginx配置文件夹
docker cp nginx:/usr/share/nginx/html E:\DockerContainersTest\Nginx\html   #nginx的html文件夹

image-20231107150153427

这里最好先提前创建好目录:E:\DockerContainersTest\Nginx

删除nginx容器

docker stop nginxdemo
docker rm nginxdemo

image-20231107150708887

至此就获得了容器中nginx的配置文件并将其保存到宿主电脑指定位置,做这一步主要目的是,方便数据卷的挂载,后期修改配置之类的可以直接在宿主机操作上而不用在容器上。

2.3 安装Nginx容器并数据挂载

docker run --name nginxproxy -d -p 8880:80 -v E:\DockerContainersTest\Nginx\nginx.conf:/etc/nginx/nginx.conf -v E:\DockerContainersTest\Nginx\conf.d:/etc/nginx/conf.d -v E:\DockerContainersTest\Nginx\html:/usr/share/nginx/html -v E:\DockerContainersTest\Nginx\cert:/etc/nginx/cert -v E:\DockerContainersTest\Nginx\logs:/var/log/nginx -e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 --privileged=true --restart=always nginx

image-20231107151620978

image-20231107151648317

2.4 测试

直接通过在宿主机修改nginx默认欢迎页网页Nginx\html\index.html

image-20231107152512975

重启容器之后在宿主机上访问

image-20231107153335508

3.反向代理

具体思路:在宿主机通过浏览器访问Nginx端口,Nginx再将请求发送给装有微程序的容器,该容器再将返回数据返回给Nginx,Nginx再返回数据给宿主机。

image-20231107155500696

装有微程序的容器的路由地址为:172.17.0.1,而直接ip地址为:172.17.0.3

我在这里踩过坑,把地址设置为直接ip地址时会出现502路由错误

3.1 配置

修改Nginx代理配置:Nginx\conf.d\default.conf

image-20231107155825232

新添配置:

    location /hello {proxy_pass http://172.17.0.1:8008;#反向代理配置,将请求转发到指定服务}

这里的172.17.0.1与8008分别为dd容器的路由地址与对外暴露的端口号。

image-20231107160112172

重启Nginx容器使配置生效

3.2 测试

image-20231107160234602

参考:

https://blog.csdn.net/lly576403061/article/details/129452986

https://www.bilibili.com/video/BV13a411q753/?p=182

https://www.bilibili.com/video/BV1HP4118797/?p=12

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CN考研真题知识点二轮归纳(5)

本轮的最后一贴,真题中涉及计网的部分彻底总结完!后期的3轮总结可能会上一些大题,比如路由转发、子网划分什么的,以及重点的背诵内容~ 上期目录: CN考研真题知识点二轮归纳(4)https://jslhyh32…

Android耗电量测试

背 / 景 / 介 / 绍 目前对于移动设备而言,电量是很重要的一个方面。现在大家使用手机基本每天都需要充电,所以用户也非常关注耗电的问题,如果应用设计不合理导致电量大量消耗,那么对于关注耗电的用户而言,这款应用将会…

谷歌浏览器配置允许跨域

1、在谷歌浏览器导航栏搜索chrome://flags 2、搜索Block insecure private network requests 3、修改状态

10 路由协议:西出网关无故人,敢问路在何方

1.网络包出了网关之后,就有了一种漂泊的悲凉感 2.之前的场景是比较简单的场景,但是在实际生产环境下,出了网关,会面临着很多路由器,有很多条道路可以选。 3、如何配置路由? 路由表的设计 1.路由器就是一…

【计算文献解读】ACS Catal.:塑料垃圾回收利用中的均相催化

合理的塑料回收对于解决与塑料垃圾相关的环境挑战至关重要,而在各种回收方法中,化学回收,特别是通过均相催化,有望将塑料垃圾转化为有价值的产品。由于聚烯烃链的结构不均匀性和功能化,聚合物废物对催化循环提出了挑战…

计算机网络第4章-IPv6和寻址

IP地址的分配 为了获取一块IP地址用于一个组织的子网内,于是我们向ISP联系,ISP则会从已分给我们的更大 地址块中提供一些地址。 例如,ISP也许已经分配了地址块200.23.16.0/20。 该ISP可以依次将该地址块分成8个长度相等的连续地址块&…

【蓝桥杯 第十四届省赛Java B组】真题训练(A - E)正在更新

目录 A、阶乘求和 - BigInteger B、幸运数字 - 字符串 进制转换 暴力大法 C、数组分割 - 数学思维 乘法排列组合 D、矩形总面积 - 推导公式 找规律 (1)暴力大法好 50% (2)正解 100% E、蜗牛 - (我以为是模拟…

java八股文(mysql篇)

什么是关系型数据库? 其是建立在关系模型基础上的一种数据库,这种关系分为:一对一,一对多,多对多。 我们的数据存放在表中,在表中会有一至多个字段,一行就是一条数据。 mysql有哪些字段呢&…

【MySQL】用户管理权限控制

文章目录 前言一. 用户管理1. 创建用户2. 删除用户3. 修改用户密码 二. 权限控制1. 用户授权2. 查看权限3. 回收权限 结束语 前言 MySQL的数据其实也以文件形式保存,而登录信息同样保存在文件中 MySQL的数据在Linux下默认路径是/var/lib/mysql 登录MySQL同样也可以…

如何在macbook上删除文件?Mac删除文件的多种方法

在使用MacBook电脑时,桌面上经常会积累大量的文件,而这些文件可能已经不再需要或已经过时。为了保持桌面的整洁和提高电脑性能,我们需要及时删除这些文件。本文将介绍MacBook怎么删除桌面文件,以及macbook删除桌面文件快捷键。 一…

C 语言左移位操作在kernel驱动子系统中的特殊用途

文章目录 前言一、C语言左移位操作介绍1. 左移位二、左移位操作在kernel 驱动子系统中的应用1. 左移位操作在 V4L2, Media 子系统中的应用实例2.左移位操作在 DRM 子系统中的应用实例2.1 左移位操作在struct drm_crtc 中的应用2.2 左移位操作在struct drm_encoder 中的应用总结…

Flutter 07 框架和三棵树(Widgets、Elements和RenderObjects)

一、Flutter框架的整体结构: Flutter是Google推出并开源的跨平台开发框架,主打跨平台、高保真、高性能。开发者可以通过Dart语 言开发Flutter应用,一套代码同时运行在ios和Android平台。不仅如此,Flutter还支持Web、桌面、嵌 入应…

【工具】OCR方法|不用下载额外的软件,提取扫描中英文PDF的目录文本的最优解!(一)

需求: 1)从PDF里快速提取目录; 2)不想下载任何软件。 我提取出来的目录文本会用于嵌入到PDF中,向PDF批量添加目录的软件以及软件的使用方法可以看我上一篇文章:PDF批量插入目录。 以下是我自己能想到的方…

基于yolov2网络的人脸识别系统matlab仿真,包括识别正脸,侧脸等

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、训练阶段 4.2、预处理阶段 4.3、识别阶段 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ........................................…

FastGPT | 3分钟构建属于自己的AI智能助手

这是一篇使用指南!!! FastGPT是什么? FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景&…

BEV-YOLO 论文学习

1. 解决了什么问题? 出于安全和导航的目的,自驾感知系统需要全面而迅速地理解周围的环境。目前主流的研究方向有两个:第一种传感器融合方案整合激光雷达、相机和毫米波雷达,和第二种纯视觉方案。传感器融合方案的感知表现鲁棒&am…

一句话说明:企业架构框架鼻祖Zachman

问:禁止废话,一句话表达,Zachman是什么?包含哪些内容? 韩老师正经回答:Zachman是企业架构框架鼻祖,包含6行6列的矩阵式架构内容。6列是5W1H(What、How、Where、Who、When、Why&…

Vue3 简单实现虚拟Table,展示海量单词.利用WebAPI speechSynthesis,朗读英语单词

目录 本页面完整代码 视频演示 完整的页面代码 利用webapi speechSynthesis帮助我们自动郎读英语单词,可以利用这个API,做一些小说朗读或到账提示。 本页面完整代码 用Vue写了一个简单页面,里面还写了一个简单的虚拟Table支持海量数据展示…

kubernetes存储-volumes

目录 一、Volumes的简介 二、emptyDir卷 1、emptyDir的引入 2、emptyDir 的使用场景 3、多容器共享volumes 4、emptyDir缺点 三、hostPath卷 1、hostPath卷简介 2、创建hostPath卷 3、NFS共享文件 四、PersistentVolume(持久卷) 1、PV与P…

免费音效素材,不能错过这6个网站

找免费音效素材,那必须要上这6个网站,热门音效、BGM都能免费下载,赶紧收藏起来。 1、菜鸟图库 https://www.sucai999.com/audio.html?vNTYwNDUx 菜鸟图库是一个综合性素材网站,站内涵盖设计、图片、办公、视频、音效等素材。其中…