Java Spring Boot应用程序的Docker基础映像(FROM)是什么?
我刚刚开始使用docker,我发现Dockerfile里面的FROM可以为Java定义图像
FROM java:8
如果我使用Gradle(或Maven)进行构建是更好的基本映像,以便开始避免以后配置Gradle / Maven项目的常见内容?
当然Spring Boot应用程序只是构建输出文件夹中的.jar文件,关于如何使用Docker运行的问题应该少一些(对于使用标准构建工具构建的Java项目)
最佳答案
有关如何将Spring-Boot与Docker:https://spring.io/guides/gs/spring-boot-docker/集成的很好的文档
基本上你在src / main / docker / Dockerfile中定义dockerfile并配置docker-maven-plugin如下:
Dockerfile:
FROM frolvlad/alpine-oraclejre8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
请注意,在此示例中,FROM frolvlad / alpine-oraclejre8:slim是一个基于Alpine Linux的小型脚印图像.
您还应该能够使用标准Java 8映像(基于Debian并且可能具有更大的占用空间).可在此处找到可用的Java Baseimages的广泛列表:https://hub.docker.com/_/java/.