spring - 在Docker镜像中更新jar

标签 spring docker spring-boot dockerfile

我正在使用以下文件构建Docker镜像。这是一个简单的Spring Boot应用程序。
当我对Spring项目进行更新时,我正在重建图像以获取更新的图像。但是,这将创建一个全新的镜像,该镜像将完全重新推送到整个仓库(700 + MB)。如何更新现有镜像以包括新更新的jar而不是全新镜像,这样我就不必为了更新Spring应用程序而增加700 + MB的内存?

这是我当前正在使用的dockerfile:

FROM java:8
EXPOSE 8080
VOLUME /tmp
ADD app-name.1.0.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]

注意:当我运行 docker attach 命令时,它只是坐在那里而不执行任何操作。

最佳答案

看来您错过了Docker容器/镜像点。
新的应用程序版本==>新的Docker镜像是真实的路径,听起来像是您想要的。

而且,如果仅更改了最后一层(您提供的Dockerfile就是这种情况),则docker push将仅上传镜像的新层。所以在这种情况下,有关app.jar的大小...

关于spring - 在Docker镜像中更新jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38790278/

相关文章:

java - 当我为 Hibernate session 工厂创建 bean 时使用 Spring MVC

java - 无法使用 glassfish 进行默认 bean 验证

docker - 链接和缩放如何在 docker compose 中协同工作?

spring - @Converter 注释的类在 spring-boot 项目中未自动检测到

spring-boot - 如何将请求从根上下文 "/"重定向到自定义配置的 "server.context-path"

postgresql - Docker-compose无法连接到Docker postgres容器

java - 未找到 H2 数据库的 hibernate 表

spring - 如何在 Hibernate 中将 CLOB 数据类型转换为字符串?

docker - 在 docker-compose 文件中设置参数

scala - Docker Akka-Http 应用程序端点无法访问