SpringBoot+Vue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓

news/2024/5/10 2:09:58/文章来源:https://blog.csdn.net/qq_62124267/article/details/136913107

文章目录

  • SpringBoot+Vue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓
  • 一、Java项目基于Docker打包发布
    • 1.打包应用,将打好的jar包放到我们的linux系统中
    • 2.新建dockerfile
    • 3.打包镜像
    • 4.测试运行
    • 5.上传镜像到阿里云免费私仓
  • 二、Vue项目打包到docker镜像
    • 1.编译打包前端项目将打包生成的dist文件夹复制到咱们的wms-web文件夹内
    • 2 前端项目 nginx的配置文件default.conf 和 dockerfile
    • 3.构建镜像(同后端)
    • 4.运行测试

SpringBoot+Vue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓

一、Java项目基于Docker打包发布

1.打包应用,将打好的jar包放到我们的linux系统中

在这里插入图片描述

//跳过测试类,更快打包。也可以直接双击侧边栏maven里面的package打包
mvn clean package -DskipTests

在这里插入图片描述
将打好的jar包放到咱们opt目录下的自定义文件夹内
在这里插入图片描述

2.新建dockerfile

FROM  openjdk:8
#设置工作目录
WORKDIR  /opt
#COPY  wms-app-1.0-SNAPSHOT.jar /workspace/app.jar
ADD  wms-app-1.0-SNAPSHOT.jar app.jar
#配置容器暴漏的端口
EXPOSE 8080
#查看是否已经copy进去
RUN  ls 
#java App
ENTRYPOINT  ["java","-jar","app.jar"]

在这里插入图片描述

3.打包镜像

docker build -t wmsapp:v1 .
//最后有一个点不要忘了

在这里插入图片描述
打包成功后
在这里插入图片描述

4.测试运行

–rm 代表退出之后,容器移动删除

//指定在Linux宿主机3999端口运行,这样可以在电脑主机浏览器进行访问
docker run -d -p 3999:8080 wmsapp:v1

可以看到成功启动了服务
在这里插入图片描述

5.上传镜像到阿里云免费私仓

阿里云免费私仓
创建好自己的镜像仓库后会显示操作指南
在这里插入图片描述

身份登录

$ docker login --username=fpl1116 registry.cn-beijing.aliyuncs.com

在这里插入图片描述
将镜像推送到Registry

$ docker tag [ImageId] registry.cn-beijing.aliyuncs.com/fpl-erp/wms-project:[镜像版本号]
$ docker push registry.cn-beijing.aliyuncs.com/fpl-erp/wms-project:[镜像版本号]

在这里插入图片描述

可以在镜像仓库中进行查看
在这里插入图片描述

拉取镜像

$ docker pull registry.cn-beijing.aliyuncs.com/fpl-erp/wms-project:[镜像版本号]

二、Vue项目打包到docker镜像

1.编译打包前端项目将打包生成的dist文件夹复制到咱们的wms-web文件夹内

npm run build

在这里插入图片描述

2 前端项目 nginx的配置文件default.conf 和 dockerfile

default.conf

upstream wms-app {server 192.168.11.87:3999 ;
}
server {listen       80;server_name  localhost;#access_log  /var/log/nginx/host.access.log  main;location / {root   /usr/share/nginx/html;index  index.html index.htm;try_files $uri $uri/ /index.html; #解决单页面找不到路径问题 404}location /api {proxy_pass http://wms-app;  #可以配置多个下游服务,具有负载功能}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}
}

1.root:设置静态根目录为 /usr/share/nginx/html
2. index:设置目录的默认文件为 index.html 、index.htm、index.php
3. try_files:设置文件查找规则为 $uri $uri/ /index.html。即3个规则,先从 $uri 查找,再从 u r i / 目录中查找,最后查找 / i n d e x . h t m l 。

dockerfile

FROM nginx
COPY dist /usr/share/nginx/html
RUN rm -f /etc/nginx/conf.d/default.conf
#ADD default.conf /etc/nginx/conf.d/default.conf
COPY  default.conf /etc/nginx/conf.d/default.conf

在这里插入图片描述

3.构建镜像(同后端)

docker build -t wmsweb:v1 .

在这里插入图片描述

4.运行测试

docker  run -d -p 3888:80  wmsweb:v1

在这里插入图片描述

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

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

相关文章

每日一题 --- 数组中的第 K 个最大元素[力扣][Go]

数组中的第 K 个最大元素 题目:数组中的第 K 个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1…

数据挖掘终篇!一文学习模型融合!从加权融合到stacking, boosting

模型融合:通过融合多个不同的模型,可能提升机器学习的性能。这一方法在各种机器学习比赛中广泛应用, 也是在比赛的攻坚时刻冲刺Top的关键。而融合模型往往又可以从模型结果,模型自身,样本集等不同的角度进行融合。 数据…

【理解机器学习算法】之Clustering算法(Agglomerative Clustering)

聚合聚类(Agglomerative Clustering)是一种层次聚类算法,通过逐步合并或“聚集”它们来构建嵌套聚类。这种方法采用自底向上的方式构建聚类层次:它从将每个数据点作为单个聚类开始,然后迭代合并最接近的聚类对,直到所有数据点合并…

基于tcp协议的网络通信(将服务端守护进程化)

目录 守护进程化 引入 介绍 如何实现 思路 接口 -- setsid 注意点 实现代码 daemon.hpp log.hpp 运行情况 前情提要 -- 前后台任务介绍(区别命令),sessionsid介绍,session退出后的情况(nuhup,终端进程控制组),任务进程组概念,任务与进程组的关系,-bash介绍-CSDN博客…

基于SSM框架的酒店预订系统

基于SSM框架的酒店预订系统的设计与实现 摘要 当今世界的互联网信息技术飞速发展,网络化的工作模式已经几乎覆盖到各个工作领域中的业务内,人们的日常生活也渐渐离不开互联网。因此,在当下全国各处的酒店都开始构建起了自己的网络预订系统。…

vue的优缺点有那些 组件常用的有那些?

优点: 组件化开发,提升效率,方便复用,便于协同开发单页面路由易于结合其他的第三方库丰富的api方法轻量高效,虚拟DOMMVVM,数据驱动视图轻量级的框架 缺点: 缺少高阶教程和文档生态环境不如angular和re…

【PHP + 代码审计】数组基础

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

OpenHarmony系统服务的核心组件

简介 samgr组件是OpenHarmony的核心组件,提供OpenHarmony系统服务启动、注册、查询等功能。 系统架构 图 1 系统服务管理系统架构图 目录 /foundation/distributedschedule ├── samgr │ ├── bundle.json # 部件描述及编译文件 │ ├── frameworks…

Git的配置与简单的使用

Git概述 Git的工作流程 Git的配置与简单的使用 配置用户信息 配置用户名以及邮箱 邮箱尽量自己能够记住,以后会用到 git config --global user.name "Your name" git config --global user.email "Your email"查看用户信息 git config --…

警务数据仓库的实现

目录 一、SQL Server 2008 R2(一)SQL Server 的服务功能(二)SQL Server Management Studio(三)Microsoft Visual Studio 二、创建集成服务项目三、配置“旅馆_ETL”数据流任务四、配置“人员_ETL”数据流任…

ORA-29548

ORA-29548: Java system class reported: release of Java system classes in the database ( being determined) does not match that of the oracle executable (11.2.0.4.221018) 执行 java 报错 create or replace and compile java source named preg_replace aspackage…

深入解析MySQL的四种打开方式

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

嵌入式开发--STM32G431RBTx-定时器中断流水灯

嵌入式开发–STM32G431RBTx-定时器中断流水灯 定时器工作原理 如图有反映stm32g431的定时器资源。 共10个定时器 定时器定时器类型个数TIM6,7基本定时器2TIM2,3,4全功能通用定时器3TIM15,16,17通用定时器(只有1或2个…

51单片机中断信号的种类及应用场景

在嵌入式系统中,中断是一种重要的事件处理机制,它可以在程序执行的任何时候暂停当前任务,转而执行与之相关的特殊任务或事件。51单片机作为一种常见的微控制器,其中断功能在各种应用中起着关键作用。然而,对于初学者和…

权限提升-Win系统权限提升篇计算机管理用户进程注入令牌窃取服务启动远程控制

知识点 1、计算机管理用户到System-入口点和应用点 2、计算机管理用户到System-服务启动&远程控制 3、计算机管理用户到System-进程注入&令牌窃取 普通用户是没办法用(服务启动&远程控制、进程注入&令牌窃取等方法)提权到administrator、system权限的 而syst…

Git Commit 提交规范,变更日志、版本发布自动化和 Emoji 提交标准

前言 Git Commit 是开发的日常操作, 一个优秀的 Commit Message 不仅有助于他人 Review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是实际工作中却常常被大家忽略,希望通过本文,能够帮助大家规范 Git Commit,并且展示相关 …

Apache SeaTunnel和SeaTunnel Web 安装部署

Apache SeaTunnel和SeaTunnel Web 安装部署 前面我们介绍已经介绍过了Apache SeaTunnel,这里我们看一下SeaTunnel 的安装部署,早期的SeaTunnel 是没有web 页面的,只能在命令行里使用,现在SeaTunnel 已经有了web 端了,这就降低了我们的使用门槛 下载配置 我们可以去下面的…

【Word自动化办公】使用python-docx对Word进行操作

目录 一、环境安装 二、文档各组成结构获取 2.1 组成结构讲解 2.2 段落run对象的切分标准 三、获取整篇文档内容 四、写入指定样式的数据 4.1 通过add_paragraph与add_run参数添加样式 4.2 单独设置文本样式 五、添加标题 六、换行符&换页符 七、添加图片数据 …

Linux:rpm部署Jenkins(1)

1.获取Jenkins安装包 我这里使用的是centos7系统,ip为:192.168.6.6 2G运存 连接外网 Jenkins需要java环境,java的jdk包你可以去网上下载离线包,或者直接去yum安装,我这里使用的是yum安装 再去获取Jenkins的rpm包…

RabbitMQ的使用—实战

RabbitMQ的使用—实战 ​ RabbitMQ是一个开源的消息代理中间件,在分布式系统开发中被广泛应用。它实现了高级消息队列协议(AMQP),提供可靠的消息传递、灵活的路由、消息确认等功能。下面是使用RabbitMQ的基本流程: 安…