当前位置: 首页 > 知识库问答 >
问题:

Java Spring Boot的Docker基映像(`from')是什么?

丁雅懿
2023-03-14

Java Spring Boot应用程序的Docker基映像(from)是什么?

我刚从docker开始,我看到DockerFile中的可以为Java定义image

FROM java:8

如果我使用Gradle(或Maven)进行构建,那么开始时避免以后配置的更好的基础映像是Gradle/Maven项目的常见情况是什么?


共有1个答案

呼延震博
2023-03-14

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

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

<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:

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" ]
 类似资料:
  • 问题内容: 我有一个泊坞窗映像,我想找出它是从哪个映像创建的。当然有多层,但是我想找出最后一张图像(dockerfile中该图像的FROM语句)? 我尝试使用,但无法在其中找到此信息。 我尝试使用以下命令,但它给我一条错误消息 这是我收到的错误消息 问题答案: 您可以使用此答案中建议的方法:https : //stackoverflow.com/a/53841690/3691891 首先,拉: 获

  • 从我读到的和听到的关于Docker的所有内容来看,它的全部意义在于封装一个应用程序,使其能够在任何机器上运行。它通过将所需的环境(工具/依赖项)包装到docker映像中来实现这一点。容器是映像的实例。没有操作系统运行在docker容器中。 现在,如果这都是真的,那么为什么存在这个:CentOS官方docker映像?我以为docker映像只是应用程序的映像,而不是整个操作系统的映像。 每当我实例化该

  • 问题内容: Docker和虚拟机的映像是否存在差异?除了图像格式,我在任何地方都找不到任何信息。请注释掉图像大小,实例创建时间,捕获时间等内容。谢谢! 问题答案: 这些是我可以列出的docker和VM映像之间的一些区别: 1. Docker中的快照过程比VM更快 我们通常从基本映像开始,然后进行更改,然后使用docker提交这些更改,然后创建一个映像。该图像仅包含与基准的差异。当我们要运行图像时,

  • 我最近从Udemy学习了一门关于Docker的课程,但我在理解Docker世界中的图像究竟是什么方面遇到了问题? 我所了解到的是,当Docker在我们的系统上运行时,它本身就是一个运行Linux操作系统的虚拟机。Linux操作系统从我们提供的映像运行多个容器。容器在硬盘上有其独立的空间,分配了自己的内存和CPU,但与虚拟机不同的是,它没有自己成熟的操作系统。

  • 我有一个spring boot应用程序,其中包含一个主类。我的Docker文件如下: 我正在使用这个Docker文件创建一个Docker映像。让我们考虑这个docker文件是Docker1。 我有另一个Spring Boot应用程序(没有主类),Docker文件如下: 我使用Docker1作为第二个应用程序的docker映像的基础映像。当我试图运行第二个docker映像时,我得到一个错误“no m

  • 但我希望在基本系统和容器之间有一个短暂的连接。 重述:主机OS和容器基础映像的OS之间的关系是什么?