首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Spring Boot的Docker基础镜像(`FROM`)是什么?

Java Spring Boot的Docker基础镜像(`FROM`)是什么?
EN

Stack Overflow用户
提问于 2017-01-23 18:37:18
回答 2查看 4.3K关注 0票数 8

哪个Docker base image (FROM) for Java Spring Boot应用程序?

我刚刚开始使用docker,我发现Dockerfile中的FROM可以像这样定义图像

代码语言:javascript
复制
FROM java:8

如果我使用Gradle (或Maven)构建,是不是更好的基础映像,可以避免以后的配置? Gradle/Maven项目有什么共同之处?

当然,Spring Boot应用程序只是构建输出文件夹中的.jar文件,应该没有关于如何使用Docker运行的问题(对于使用标准构建工具构建的Java项目)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-23 18:45:45

有一个关于如何将Spring-Boot与Docker集成的很好的文档:https://spring.io/guides/gs/spring-boot-docker/

基本上,您可以在src/main/docker/Dockerfile中定义docker文件,并像这样配置docker-maven-plugin:

代码语言:javascript
复制
<build>
<plugins>
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.4.11</version>
        <configuration>
            <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
            <dockerDirectory>src/main/docker</dockerDirectory>
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}</directory>
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>
</plugins>

Dockerfile:

代码语言:javascript
复制
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的小型打印图像。

您还应该能够使用标准的Java8映像(它基于Debian,可能会增加内存使用量)。可以在这里找到可用Java的广泛列表:https://github.com/docker-library/docs/tree/master/openjdk

票数 7
EN

Stack Overflow用户

发布于 2017-02-22 21:35:49

我使用了fabric插件,它使用了基本的docker image fabric 8/java-alpine openjdk8-jdk:1.2。不需要Dockerfile文件,它是由plugin创建的。

代码语言:javascript
复制
<build>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <plugins>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>fabric8-maven-plugin</artifactId>
            <version>3.2.28</version>
        </plugin>

    </plugins>
</build>

目标是fabric8 8:build来创建docker镜像,fabric8 8: push来推送docker镜像注册表。

代码语言:javascript
复制
mvn clean install fabric8:build fabric8:push
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41804297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档