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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • SpringBoot整合Redis实现token缓存

    SpringBoot整合Redis实现token缓存

    于token通常会被多次使用,我们需要把它保存到缓存中,以减少频繁地访问数据库,本文主要介绍了SpringBoot整合Redis实现token缓存,感兴趣的可以了解一下
    2024-02-02
  • Java 实现并发的几种方式小结

    Java 实现并发的几种方式小结

    这篇文章主要介绍了Java 实现并发的几种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Java SSM配置文件案例详解

    Java SSM配置文件案例详解

    这篇文章主要介绍了Java SSM配置文件案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java中判断集合是否相等的几种方法详解

    Java中判断集合是否相等的几种方法详解

    这篇文章主要介绍了Java中判断集合是否相等的几种方法详解,在平时的开发中,可能会遇到需要判断两个集合是否相等的需求,那么本文就来详细讲解一下几种实现方法,需要的朋友可以参考下
    2023-08-08
  • MyBatis动态<if>标签使用避坑指南

    MyBatis动态<if>标签使用避坑指南

    这篇文章主要为大家介绍了MyBatis动态<if>标签使用避坑指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Java 正确终止线程的方法

    Java 正确终止线程的方法

    这篇文章主要介绍了Java 正确终止线程的方法,帮助大家更好的理解和学习java 多线程的相关知识,感兴趣的朋友可以了解下
    2020-12-12
  • Spring Cloud Stream异常处理过程解析

    Spring Cloud Stream异常处理过程解析

    这篇文章主要介绍了Spring Cloud Stream异常处理过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java多线程-线程的同步与锁的问题

    Java多线程-线程的同步与锁的问题

    线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。本篇文章主要介绍了Java多线程-线程的同步与锁的问题,有兴趣的可以了解一下。
    2016-11-11
  • Mybatis中3种关联关系的实现方法示例

    Mybatis中3种关联关系的实现方法示例

    这篇文章主要给大家介绍了关于Mybatis中3种关联关系的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者使用Mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • Java实现九宫格的简单实例

    Java实现九宫格的简单实例

    这篇文章主要介绍了 Java实现九宫格的简单实例的相关资料,需要的朋友可以参考下
    2017-06-06

最新评论