Springboot2 Vue 前后端分离 整合打包 docker镜像
项目使用springboot2和Vue前后端分离开发模式,再整合,容器化部署。
主要说明下大体的流程,扫除心里障碍,期间遇到的问题请自行解决。
首先说下Vue打包:
1、在Vue项目目录下运行命令打包:npm run build:prod --report
生成需要使用的dist文件,打包后会出现在项目目录下。(目录结构可能会不同)
按照如下方式整合到springboot项目中,resources在main目录下。
(结构不同的话)一样拆到static目录下,static下面直接跟img、css、js等
注意static文件的层级位置,app.js、favicon.ico、index.html在static目录下。
配置好以后,先本地运行下,确保能正常访问并请求接口。
我遇到了静态资源不能访问的问题:在java中加入如下代码后正常(上网搜的)
@Configuration @EnableAutoConfiguration @ComponentScan public class LocalConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } }
2、打成jar包,我使用的是maven方式,在此不详述。
3、使用docker打包成镜像
将jar包和Dockerfile文件放在一个目录下。Dockerfile内容文件如下:
FROM java:8 VOLUME /tmp COPY personnel.jar app.jar RUN bash -c "touch /app.jar" EXPOSE 9100 ENTRYPOINT ["java", "-jar", "app.jar", "--spring.profiles.active=test", "--server.port=9100", "/log/app.log"]
java:8 Java版本号
COPY personnel.jar app.jar 复制jar包为app.jar
9100 是项目端口号
其它的设置不用修改,具体的含义我也不清楚,望不吝赐教。
在当前目录执行命令:
docker build -t project-name . 打包命令 注意有个``.`` (首次打包会比较慢)
docker images 查看image命令
docker run -d -p 8080:9100 project-name
运行Image命令,9100是项目接口,8080是镜像端口,镜像运行后使用localhost:8080访问。
我们项目是直接把镜像推到阿里云容器中,阿里云上有现成的推送代码,不再赘述。
简单的流程,希望能帮助找到方向。
原文地址:https://www.cnblogs.com/SamNicole1809/p/12096914.html
- Go语言实现socket实例
- go语言实现sqrt的方法
- Go语言实现set
- Docker新手入门实战教程
- Python远程控制模块paramiko遇到的问题及解决记录
- Windows下bat批处理脚本使用telnet批量检测远程端口小记
- WordPress集成PHP缩略图,并开启Nginx缓存的方法
- 分享几个WordPress本地缓存gravatar评论头像的方案
- Linux下的mongodb服务脚本,以备不时之需
- WordPress发布文章主动推送到百度,加快收录保护原创
- Nginx开启fastcgi_cache缓存加速,支持html伪静态页面
- Go-指针、传值与传引用、垃圾回收
- SEO分享:彻底禁止搜索引擎抓取/收录动态页面或指定路径的方法
- Go-defer,panic,recover
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【DB笔试面试847】在Oracle Windows中,错误“ORA-12560: TNS: 协议适配器错误”的常见原因有哪些?
- MUI框架中使用百度地图(全网独一份最详细的图文教程)
- 0792-5.16.2-如何通过Hive跨集群迁移Kudu表
- [解决]Docker中安装Centos7后无法正常使用命令
- 毕业设计之「测试实验及结果分析」(一)
- 【DB笔试面试845】在Oracle中,sqlnet.ora文件的作用是什么?
- 安卓-无敌解决ListView添加标题头无法正常显示的问题(歪门邪道)
- 贪心算法-活动选择问题(Python实现)
- 浅析C语言中一些“令人吃惊”的结构
- 贪心算法-分数背包问题(Python实现)
- 为什么GNE 不做全自动提取列表页的功能
- 百度地图开发如何自定义控件(无敌的解决办法)
- 百度地图如何创建一个属于自己的地图,附加到项目中?
- FreeRTOS系列第9篇---FreeRTOS任务概述基础篇
- 图书管理系统(四)图书管理系统实战(2)