SpringBoot3.x打包Docker容器的实现

 更新时间:2024年04月30日 10:35:41   作者:程序员食堂  
这篇文章主要介绍了SpringBoot3.x打包Docker容器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Docker化Spring Boot应用

创建文件夹 demo

mkdir demo
cd demo

创建Dockerfile

# 两个 openjdk 二选一
#FROM openjdk:17-jre-alpine

FROM eclipse-temurin:17

MAINTAINER chengxuyuanshitang  <chengxuyuanshitang@XX.com>

RUN mkdir -p  /workspace/java/demo

COPY demo.jar  /workspace/java/demo/demo.jar

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", " /workspace/java/demo/demo.jar"]

CMD ["--spring.profiles.active=test"]

EXPOSE 8122
  • FROM:指定基础镜像,项目是使用jdk17开发的项目,所以我们指定的基础镜像为openjdk:17-jdk-alpine
  • MAINTAINER:项目维护人员
  • RUN:执行命令,在根目录下创建/workspace/java/demo目录
  • COPY:将宿主机当前目录下的demo.jar文件拷贝到app目录下,并重命名为demo.jar
  • ENTRYPOINT:指定容器启动程序及参数
  • CMD: 提供的参数将会被附加到 ENTRYPOINT 命令之后,作为额外的参数传递给 java 命令。如果没有 CMD 指令,或者在运行容器时没有提供任何参数,那么只有 ENTRYPOINT 定义的命令会被执行。
  • EXPOSE:指定运行时容器提供服务的端口
  • -Djava.security.egd=file:/dev/./urandom  : 这是一个系统属性设置,-D 表示设置一个系统属性。java.security.egd 是用于指定随机数生成器的系统属性。file:/dev/./urandom 指定了使用 /dev/urandom 作为随机数生成器的源,这通常用于提高性能,因为 /dev/urandom 在生成随机数时不会阻塞。

在demo夹下面放入demo.jar

demo.jar和Dockerfile在一个目录下面

执行镜像构建命令

docker build -t demo:v1 .

查看本地镜像

docker images

运行容器

docker run -p 8899:8122 demo:v1

浏览器访问

IP:8899/doc.html#/home

到此这篇关于SpringBoot3.x打包Docker容器的实现的文章就介绍到这了,更多相关SpringBoot3.x打包Docker内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 关于Kafka消费者订阅方式

    关于Kafka消费者订阅方式

    这篇文章主要介绍了关于Kafka消费者订阅方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 使用Spring Boot+MyBatis框架做查询操作的示例代码

    使用Spring Boot+MyBatis框架做查询操作的示例代码

    这篇文章主要介绍了使用Spring Boot+MyBatis框架做查询操作的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 浅谈Spring 解决循环依赖必须要三级缓存吗

    浅谈Spring 解决循环依赖必须要三级缓存吗

    这篇文章主要介绍了浅谈Spring 解决循环依赖必须要三级缓存吗,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Spring FreeMarker整合Struts2过程详解

    Spring FreeMarker整合Struts2过程详解

    这篇文章主要介绍了Spring FreeMarker整合Struts2过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 使用Jitpack发布开源Java库的详细流程

    使用Jitpack发布开源Java库的详细流程

    这篇文章主要介绍了使用Jitpack发布开源Java库的详细流程,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • java 字符串分割的三种方法(总结)

    java 字符串分割的三种方法(总结)

    下面小编就为大家带来一篇java 字符串分割的三种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • FeignClient支持运行时动态指定URL方式

    FeignClient支持运行时动态指定URL方式

    在实际开发中,我们经常通过FeignClient接口调用三方API,当面对不同的环境对应不同的地址时,可以通过配置文件和占位符来切换,但在同一个环境中需要调用不同地址的相同接口时,这种方法就失效了,此时,可以通过实现RequestInterceptor接口来动态切换地址
    2024-11-11
  • IDEA 创建多级文件夹的操作

    IDEA 创建多级文件夹的操作

    这篇文章主要介绍了IDEA 创建多级文件夹的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • spring boot打jar包发布的方法

    spring boot打jar包发布的方法

    这篇文章主要介绍了spring boot打jar包发布的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • SpringBoot实现文件的上传、下载和预览功能

    SpringBoot实现文件的上传、下载和预览功能

    在Spring Boot项目中实现文件的上传、下载和预览功能,可以通过使用Spring MVC的MultipartFile接口来处理文件上传,并使用HttpServletResponse或Resource来实现文件下载和预览,下面是如何实现这些功能的完整示例,需要的朋友可以参考下
    2024-08-08

最新评论