DOCKER06_SpringBoot微服务项目打包成Docker镜像详解(三)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: DOCKER06_SpringBoot微服务项目打包成Docker镜像详解(三)

④. 基于maven进行打包,多阶段构建


  • ①. Dockerfile文件如下所示,在服务器上进行打包成功,启动容器找不到主启动类(文件参考使用)
    有哪位大佬如果知道原因,希望可以告知,感谢!!!


# 基于maven:3.5.2-jdk-8-slim这个镜像
FROM maven:3.5.2-jdk-8-slim AS buildapp
# 创建一个根目录
WORKDIR /app
# 将当前的src和pom.xml文件复制到基于maven:3.5.2-jdk-8-slim的/app目录下
COPY src .
COPY pom.xml .
# 进行maven的打包,跳过测试阶段
RUN mvn clean package -Dmaven.test.skip=true
# 将/app/target的jar包复制到/app/app.jar下
RUN cp target/*.jar app.jar
RUN ls -l
# 基于jdk的镜像
FROM openjdk:8u282-slim
# 如下操作可以让容器时间和虚拟机时间一致
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
LABEL maintainer="845195485@qq.com"
# 基于之前构建的buildapp,将/app/app.jar复制到/app.jar
COPY --from=buildapp /app/app.jar /app.jar
# 暴露8080端口
EXPOSE 8080
ENV JAVA_OPTS=""
ENV PARAMS=""
ENTRYPOINT [ "sh", "-c", "java -Djava.security.egd=file:/dev/./urandom $JAVA_OPTS -jar /app.jar $PARAMS" ]


②. 启动命令如下


docker run -e JAVA_OPTS="-Xmx512m -Xms33 -" -e PARAMS="--spring.profiles=dev --server.port=8080" -jar /app/app.jar

相关文章
|
16天前
|
消息中间件 监控 开发工具
微服务(三)-实现自动刷新配置(不重启项目情况下)
微服务(三)-实现自动刷新配置(不重启项目情况下)
|
10天前
|
Java Docker 微服务
|
2月前
|
开发框架 .NET Linux
【Azure Developer】已发布好的.NET Core项目文件如何打包为Docker镜像文件
【Azure Developer】已发布好的.NET Core项目文件如何打包为Docker镜像文件
|
2月前
|
Java Docker 容器
Docker SpringBoot Skywalking 8.1 agent
Docker SpringBoot Skywalking 8.1 agent
33 0
|
3月前
|
负载均衡 Java 开发者
如何在Spring Boot项目中实现微服务架构?
如何在Spring Boot项目中实现微服务架构?
|
3月前
|
消息中间件 负载均衡 Java
最容易学会的springboot gralde spring cloud 多模块微服务项目
最容易学会的springboot gralde spring cloud 多模块微服务项目
|
域名解析 NoSQL Java
Springboot docker jenkins 自动化部署并上传镜像
本文为大家讲解Springboot docker jenkins 自动化部署并上传镜像的过程。
3677 0
Springboot docker jenkins 自动化部署并上传镜像
|
16天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
47 2
基于Java+Springboot+Vue开发的服装商城管理系统
|
16天前
|
前端开发 JavaScript Java
SpringBoot项目部署打包好的React、Vue项目刷新报错404
本文讨论了在SpringBoot项目中部署React或Vue打包好的前端项目时,刷新页面导致404错误的问题,并提供了两种解决方案:一是在SpringBoot启动类中配置错误页面重定向到index.html,二是将前端路由改为hash模式以避免刷新问题。
72 1
|
13天前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的大学竞赛报名管理系统
基于Java+Springboot+Vue开发的大学竞赛报名管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的大学竞赛报名管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
31 3
基于Java+Springboot+Vue开发的大学竞赛报名管理系统