docker如何打包部署springboot的项目

devtools/2024/12/28 2:35:52/

一、将项目打包成jar包,或者war包。

首先,确保已经使用 Maven 或 Gradle 等工具将项目打包成 JAR 文件。如果使用的是 Maven,可以通过以下命令打包:

#gradle 构建的项目
gradle   build 
#mvn   构建项目、
mvn clean packege 

二、上传jar包服务器项目目录上,构建Dockerfile文件

如我们的项目目录为  application/xxxxx项目名/

Dockerfile 文件配置如下

#使用的jdk版本,确保服务器有安装相关的jdk环境
FROM openjdk:8
#使用的创建用户
USER rootENV TZ "Asia/Shanghai"
ENV LANG C.UTF-8
#配置Java应用的虚拟机的参数
ENV JAVA_OPTS "-Xms1024m -Xmx2048m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=4096m"#日志目录
RUN  mkdir -p /application/testProject/log
#工作目录
WORKDIR /application/testProject/
COPY test-1.0.0.RELEASE.jar .#需要运行并暴露的端口号
EXPOSE 8080
#镜像地址映射
CMD ["java","-jar","/application/testProject/test-1.0.0.RELEASE.jar","-Dfile.encoding=utf-8"]

三、打包jar包编译为tar包docker 镜像

#将jar包打成镜像
docker build -t testProject:1208(版本号)  .#将镜像报存为tar包
docker save -o testProject.tar  testProject:1208(版本号)#将tar包加载
docker load -i smartpatrol.tar #查看是否有相关镜像与容器应用
docker ps -a docker images#启动镜像
docker run -id --name testProject --net=host -e spring.profiles.active=prod(你的项目spring相关的启动配置文件)  -v /data/application/back/testProject/:/application/testProject/ testProject:1208

运行docker ps 查询容器服务是否已经启动 。

四、如果项目中需要用到Windows字体。

导入windows环境(C:\Windows\Fonts)的字体文件到宿主机下的/usr/share/fonts目录,将字体cp复制到容器中去。

docker cp /usr/share/fonts/ b8df5423c851:/usr/share(容器id:/路径)

进入容器重新刷新字体文件

docker exec -it b8df5423c851 /bin/bash
#刷新字体缓存
fc-cache
#查看容器字体
fc-list
#重启容器
Docker restart b8df5423c851

至此项目部署docker容器服务结束。


http://www.ppmy.cn/devtools/145595.html

相关文章

12.25 VScode+jupyter使用

在运行的python环境里先要确保jupyter安装好: 按下 Ctrl Shift P 打开命令面板,输入 “Jupyter: Create New Blank Notebook” 来创建一个新的 Jupyter 笔记本,或者打开现有的 .ipynb 文件。 在打开的 Jupyter 笔记本中,点击右…

医疗平板与普通平板对比:优势尽显

在当今数字化的时代,平板电脑已经成为人们生活和工作中不可或缺的一部分。而在医疗领域,医疗平板也逐渐崭露头角,与普通平板相比,它具备诸多独特的优势,能够更好地满足医疗行业的特殊需求。 一、硬件设计与防护 坚固耐…

【LeetCode】726、原子的数量

【LeetCode】726、原子的数量 文章目录 一、递归: 嵌套类问题1.1 递归: 嵌套类问题 二、多语言解法 一、递归: 嵌套类问题 1.1 递归: 嵌套类问题 遇到 ( 括号, 则递归计算子问题 遇到大写字母, 或遇到 ( 括号, 则清算历史, 并开始新的记录 记录由两部分组成: 大写字母开头的 …

SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

使用 C# 代码计算数学表达式

此程序展示了如何使用 C# 代码来计算数学表达式。该程序以以下代码开始。 此代码声明了一个Dictionary,稍后将使用它来保存变量。(例如,如果用户想要 A 10、B 3 和 Pi 3.14159265。) 然后它定义了一个Precedence枚举来表示运算…

原点安全再次入选信通院 2024 大数据“星河”案例

近日,中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织开展的 2024 大数据“星河(Galaxy)”案例征集活动结果正式公布。由工银瑞信基金管理有限公司、北京原点数安科技有限公司联…

“信任构建”:网上购物商城的用户评价与信誉系统

2 相关技术 2.1 SSM框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架…

iOS AccentColor 和 Color Set

AccentColor 和 Color Set 都是 Xcode 中用于颜色管理的功能,它们适用于不同的开发场景和需求。以下是它们的区别和应用场景分析: 1. AccentColor(强调色) 1.1 概念: • AccentColor 是在 Xcode 12 中引入的&#xf…