docker启动springboot项目构建的镜像 并通过Nginx配置反向代理

news2024/12/24 9:16:58

1.首先准备好springboot项目构建的docker镜像

如果不会的去看我另一篇博客
docker构建springboot项目镜像

docker image list |grep alice

在这里插入图片描述

2.通过命令启动镜像

注意: -p后面的端口号 前面可以随便写:后面必须是你springboot项目中application.yml的端口,不然 你启动起来 访问不通

server:
  port: 13500

启动命令:

docker run -d --name alice -p 84:13500 alice:1.0.0

在这里插入图片描述
查看启动中的容器:

docker ps -a

在这里插入图片描述
通过页面访问看下是否访问成功
我只写了一个接口
在这里插入图片描述
访问结果:
在这里插入图片描述

3.通过docker安装的Nginx配置反向代理实现屏蔽端口加固定接口前缀

3.1.docker安装Nginx并把文件挂载指定目录

3.1.1.拉取Nginx镜像

docker pull nginx

查看镜像

docker image list |grep nginx

在这里插入图片描述

3.1.2.创建挂载目录

mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html

在这里插入图片描述

3.1.3.创建Nginx容器并把相关文件复制到挂载目录

因为我之前装了harbor仓库,harbor里有Nginx我要在装就得改名

# 生成容器
docker run --name alice-nginx -p 80:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp alice-nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp alice-nginx:/etc/nginx/conf.d/ /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp alice-nginx:/usr/share/nginx/html /home/nginx/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到文件都复制到挂载目录了.

3.1.4. 把现在这个Nginx容器删掉

docker rm -f alice-nginx

在这里插入图片描述

3.1.5. 重新创建并运行Nginx容器

docker run \
-p 80:80 \
--name alice-nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx

在这里插入图片描述

可以看到已经成功创建并运行

docker ps -a

在这里插入图片描述
在这里插入图片描述

下面我们测一下挂载目录有没有生效
修改一下挂载目录的html文件下的内容
文件没有写权限 就赋权限
赋权命令:

sudo chmod 777 /home/nginx/html/index.html

运行:

vi /home/nginx/html/index.html

在这里插入图片描述
再次访问Nginx页面
在这里插入图片描述

可以确定挂载目录已经生效

3.2. Nginx配置反向代理

因为是docker安装的Nginx

 vi /home/nginx/conf/nginx.conf

在这里插入图片描述
还有个conf.d的文件夹
我们已经挂载到 /home/nginx/conf/conf.d/ 文件夹下
在这里插入图片描述
打开default.conf

vi /home/nginx/conf/conf.d/default.conf

配置文件代码:

server {
    listen       80;
    listen  [::]:80;
    server_name  服务器公网IP;


    location / {
       root   /usr/share/nginx/html;
       index  index.html index.htm;
    }
    
    location /alice/ {
    
    proxy_pass http://springboot项目部署地址IP:84/;
    
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

在这里插入图片描述
编辑完重启Nginx容器

docker restart alice-nginx

我们访问一下接口 看是否能通
http://1xx.x.xx.x3/alice/health/health-status
在这里插入图片描述
注意:
我这个接口是没有alice的
Nginx这么配置 会自动截取调alice 你们那些配置完报404的看下是不是这个原因呢

	location /alice/ {
    proxy_pass http://springboot项目部署地址IP:84/;
    }

在这里插入图片描述

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

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

相关文章

进阶(组件通讯)/react生命周期

如果是数值就在外面加{} 给组件传递任意类型数据 父子组件数据传递 兄弟组件传递 context的使用(多级嵌套) children属性 props校验 默认值 生命周期

通用分页详解【下】

目录 前言 一、通用分页的核心思想 二、PageBean的分页要素及优化 三、SQL的通用 1.获取总记录数 2.获取分页语句 四、PageTag的核心逻辑见解 五、运行流程 案例运用 注意: 1.pageBean优化 2.tld文件 3.分页标签助手类 4.Servlet层 5.jsp页面 6.结果输…

一款IP合并和分解工具(二)

本文是对上一篇文章的补充,看过《一款IP合并和分解工具(一)》的知道,cidr-merger工具在windows上使用需要用命令行,不是很方便,在这通过python的tkinter进行二次开发,写一个可视化的界面 目录 …

2bit反射型超表面设计

1.单patch扫参 1)确定单元周期(最好0.3波长到0.5波长) 2)确定介质介电常数。(小一点比较好,带比较宽,一般选F4B2.65) 3)确定介质板厚度。厚一点好,最大3mm&a…

乱七八糟随便记录

建立Statement对象的作用是? 正确答案: C 你的答案: C (正确) A.连接数据库 B.声明数据库 C.执行SQL语句 D.保存查询结果 解释: 1、Statement对象用于执行不带参数的简单SQL语句。 2、Prepared Statement 对象用于执行预编译SQL语句。 3、Callable Sta…

react总结

一、React 入门 1.1 特点 高性能、声明式、组件化、单向响应的数据流、JSX扩展、灵活 1.2 React初体验 <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&quo…

软件测试缺陷

缺陷的定义 产品的定义不满足用户需求测试执行时&#xff0c;实际结果与预期结果不一致 缺陷产生的根本原因 需求变更沟通不畅&#xff0c;信息不同步软件复杂进度压力需求文档存在错误非根本设计存在错误非根本 缺陷的基本要素 ID编号&#xff1a;唯一模块&#xff1a;根据…

THREEJS 地图可视化案例分享

效果预览 git代码地址 threejs_map: threejs 地图可视化案例

能说会画 VisCPM:SOTA 开源中文多模态大模型

最近&#xff0c; 清华大学 NLP实验室、面壁智能、知乎联合在 OpenBMB 开源多模态大模型系列VisCPM &#xff0c;评测显示&#xff0c; VisCPM 在中文多模态开源模型中达到最佳水平。 VisCPM 是一个开源的多模态大模型系列&#xff0c;支持中英双语的多模态对话能力&#xff08…

全志科技T3国产工业核心板规格书(四核ARM Cortex-A7,主频1.2GHz)

1 核心板简介 创龙科技SOM-TLT3是一款基于全志科技T3处理器设计的4核ARM Cortex-A7国产工业核心板&#xff0c;每核主频高达1.2GHz。 核心板通过邮票孔连接方式引出CSI、TVIN、MIPI DSI、TVOUT、RGB DISPLAY、LVDS DISPLAY、GMAC、EMAC、USB、SATA、SDIO、UART、TSC、SPI、TW…

《PyTorch深度学习实践》第十讲 卷积神经网络(基础篇 + 高级篇)

b站刘二大人《PyTorch深度学习实践》课程第十讲卷积神经网络&#xff08;基础篇 高级篇&#xff09;笔记与代码&#xff1a; https://www.bilibili.com/video/BV1Y7411d7Ys?p10&vd_sourceb17f113d28933824d753a0915d5e3a90 https://www.bilibili.com/video/BV1Y7411d7Ys?…

数据结构--特殊矩阵的压缩存储

数据结构–特殊矩阵的压缩存储 一维数组的存储结构 ElemType a[10]; //ElemType型一维数组各数组元素大小相同&#xff0c;且物理上连续存放。 数组元素a[i]的存放地址 LOC i * sizeof(ElemType) ( 0 ≤ i < 10 ) (0\le i < 10) (0≤i<10) 注:除非题目特别说明&…

Win10不香了吗?微软 Win11 份额涨至 35.75% 创新高

根据 Valve 公司的最新调查结果&#xff0c;Windows 11 在 Steam 平台上的用户数量正稳步增长&#xff0c;预计将超过36%的比例。Steam定期进行用户软硬件情况调查&#xff0c;旨在提供可靠的数据支持供公司和游戏开发者用于未来的决策制定。此调查选择参与用户的方式是随机的&…

树莓派学习笔记12-安装使用PyZbar

树莓派学习笔记12-安装使用PyZbar 前言 通过树莓派外接USB摄像头&#xff0c;实现条形码的识别&#xff0c;并串口&#xff08;USB串口&#xff09;打印条形码的内容。 前期准备 硬件&#xff1a;树莓派4B 系统&#xff1a;Raspios-2021-03-04 编译器&#xff1a;Thonny 视…

如何基于GeoToolKit/INT实现矢量流线的聚集动画效果示例

继续在上一篇文章的基础上&#xff0c;利用相同的数据处理方法统一了不同年代地层的数据格式&#xff08;目前js解析支持的格式有ZMap、TS、XYZ和XYZA等&#xff09;&#xff0c;本文主要基于GeoToolKit/INT组件&#xff0c;针对地质研究经常在二维等值线基础上模拟计算地层中物…

【C++3】crontab,ftp

文章目录 1.生成数据&#xff1a;crontab2.ftp&#xff1a;ftp是tcp/ip协议族中一员&#xff0c;分客户端和服务端2.1 安装&#xff1a;linux操作系统的用户也是ftp的用户&#xff0c;可以配置专用的ftp用户&#xff0c;专用的ftp用户只能用于ftp&#xff0c;不能登录操作系统2…

ROS2移动机器人导航仿真

环境&#xff1a;Ubuntu 18.04 ros2 eloquent wget http://fishros.com/install -O fishros && . fishros1.安装turtlebot3相关功能包 sudo apt install ros-eloquent-turtlebot3* ref&#xff1a; https://docs.ros.org/ ROS2导航SLAM建图探索_鱼香ROS的博客-CSD…

蛋白组学 代谢组

https://www.cnblogs.com/yanzhi123/p/11712926.htmlhttps://www.cnblogs.com/yanzhi123/p/11712926.html【3】蛋白质组学鉴定软件之Mascot - 简书 (jianshu.com) 【6】蛋白质组学鉴定定量软件之MaxQuant - 简书 (jianshu.com) 基于Maxquant软件处理的LabelFree蛋白质组学 首…

图灵第4期MySQL调优专题学习笔记

目录 一、首先复习打印的课件 二、Explain中的列 三、解读extra 四、索引最佳实践 五、MySQL的内部组结构 2. bin-log归档&#xff1a; 六、常见SQL深入优化 1. order by 与 group by 优化 2. 索引设计原则 3. 分页查询优化&#xff08;根据非主键字段排序的分页查询…

Verilog基础之十三、ROM实现

目录 一、前言 二、非IP核设计 2.1 工程设计文件读取初始化 2.2 测试代码 2.3 仿真结果 三、IP核创建ROM 3.1 IP核生成ROM 3.2 设计代码 3.3 测试代码 3.4 仿真结果 四、modelsim设置 4.1 模拟信号显示 4.2 信号范围显示设置 五、数据文件 一、前言 对于工程中的…