当前位置: 首页 > news >正文

Java spingboot项目 在docker运行,需要含GDAL的JDK

在一个springboot项目中,打包成jar后,需要在docker中运行!但是需要含有gdal的jdk,如何在虚拟环境中运行,保证这两个内容都有,具体实现如下:

1、项目打包

把springboot项目打包成JAR包。上传到Linux机器中,这里以这个位置举例:/home/soft/app/serverapp/jar

如果没有创建 可以使用命令创建:

mkdir -p /home/soft/app/serverapp/jar

然后把项目包放到jar目录下 

2、下载gdal镜像

已测试可用下载地址:https://download.csdn.net/download/qq_43544074/90918962

可直接下载使用,是不需要积分的! 

其他下载地址:Links for GDAL

3、下载JDK的压缩包(以JDK17举例)

下载地址:Java Download | Java 8, Java 11, Java 17, Java 21, Java 24 - OpenJDK Builds for Linux, Windows & macOS

下载包后上传到Linux中,这里以这个位置举例:/home/soft/app/serverapp

4、编写dockerfile文件内容

示例如下:其中 下面的 FROM gdal:3.8.5 就是上面下载的GDAL镜像

# 基础镜像
FROM gdal:3.8.5# 设置维护者信息
LABEL maintainer="ATB" \version="1.0" \description="Docker image for sa-admin Spring Boot application"# 创建必要目录(logs、文件目录等)
RUN mkdir -p /home/soft/app/serverapp/logs \/home/soft/app/serverapp/temp \/home/soft/app/serverapp/uploadPath \/usr/local/java \/home/soft/app/serverapp/skywalking/agent# jdk-17
COPY bellsoft-jdk17.0.15_10-linux-amd64-full.tar.gz  /home/soft/app/serverapp/# 设置工作目录
WORKDIR /home/soft/app/serverapp# 解压压缩包到目标目录
RUN tar -xzvf /home/soft/app/serverapp/bellsoft-jdk17.0.15_10-linux-amd64-full.tar.gz -C /usr/local/java && \rm /home/soft/app/serverapp/bellsoft-jdk17.0.15_10-linux-amd64-full.tar.gz# 拷贝 Spring Boot jar 包和 config 配置(可选)
COPY ./jar/sa-admin.jar ./sa-admin.jar
# COPY ./jar/config ./config# 设置环境变量
ENV JAVA_HOME=/usr/local/java/jdk-17.0.15-full
ENV PATH=$PATH:$JAVA_HOME/binENV CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/share/javaENV SERVER_PORT=8082
# 暴露端口
EXPOSE ${SERVER_PORT}# 启动应用
ENTRYPOINT ["java","-jar","sa-admin.jar"]

5、编译镜像

docker build -t sa-serverapp:1.0 .

6、运行镜像服务

docker run -d --name sa-serverapp1 \-p 8082:8082 \-v /home/soft/app/serverapp/logs:/home/soft/app/serverapp/logs \-v /home/soft/app/serverapp/temp:/home/soft/app/serverapp/temp \-v /home/soft/app/serverapp/uploadPath:/home/soft/app/serverapp/uploadPath \sa-serverapp:1.0

可以查询日志:docker logs sa-serverapp1    实时日志:docker logs -f sa-serverapp1

停止服务:docker stop sa-serverapp1           开启服务:docker start sa-serverapp1

删除服务:docker rm sa-serverapp1              查看进行:docker ps    或者 docker ps -a

至此就可以运行一个springboot的项目,然后在包含GDAL的JDK 中运行。

相关文章:

  • 用C#最小二乘法拟合圆形,计算圆心和半径
  • LabVIEW教学用开发平台
  • 深入理解设计模式之命令模式
  • 【Web应用】基础篇04-功能详解-权限控制(创建菜单--分配角色--创建用户)
  • maven 最短路径依赖优先
  • c#基础08(数组)
  • 第十章:构建之巅 · 打包与部署的终极试炼
  • 实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.1 R语言解题
  • Docker常用操作
  • 下一代 SaaS 平台的 AI 架构重构路径——多租户 AI 服务调度 · 多角色智能辅助 · 嵌入式 AIGC 能力的融合设计
  • 欧几里得 ---> 裴蜀定理 ---> 拓展欧几里得
  • OpenCV CUDA模块图像处理------颜色空间处理之拜耳模式去马赛克函数demosaicing()
  • HarmonyOS NEXT~鸿蒙系统运维:全面解析与最佳实践
  • el-tree拖拽事件,限制同级拖拽,获取拖拽后节点的前后节点,同级拖拽合并父节点name且子节点加入目标节点里
  • 【华为云物联网】如何实现在 MQTT.fx 上模拟数据间隔上传一次,并按设定系数变动数据
  • 打造AI智能旅行规划器:基于LLM和Crew AI的Agent实践
  • python和java差异:关键数据类型与容器
  • PaddleNLP 的文本分类项目
  • Cmake4编译PaddleOCR3.0成功步骤
  • 分块查找详解
  • 阿里云万网网站建设靠谱吗/公司网络推广排名定制
  • 做网站有送企业邮箱吗/seo的理解
  • 发布广告/沈阳seo技术
  • 建站之星模板制作/莆田seo
  • 那些网站是php做的/外链推广平台
  • html5做图书馆网站/昆山网站建设