gpt4 book ai didi

java - 通过maven插件生成docker镜像

转载 作者:行者123 更新时间:2023-11-30 07:46:09 25 4
gpt4 key购买 nike

我已经手动编写了 dockerfile,但现在我需要配置 maven 来创建该文件并构建图像。我正在尝试使用 spotify 的 maven 插件。

这是我写的 dockerfile,它可以工作:

FROM tomcat:8.0-jre8
RUN rm -rvf /usr/local/tomcat/webapps/ROOT
COPY ./context.xml /usr/local/tomcat/conf/
COPY /target/brainis-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war
CMD ["catalina.sh", "run"]
EXPOSE 8080

我需要确保我的 maven 插件在构建镜像之前生成相同的 docker 文件。你能告诉我如何实现吗?我当前的配置只生成第一个命令 FROM tomcat:8.0-jre8,如何在 maven 中配置该文件的其余部分?

<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<imageName>spring-tomcat</imageName>
<baseImage>tomcat:8.0-jre8</baseImage>
</configuration>
</plugin>

最佳答案

您需要将 Dockerfile 添加到您的代码库,即 /src/main/docker/Dockerfile 并以这种方式从 Spotify 的 Maven 插件中引用它:

<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.plugin.version}</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.war</include>
</resource>
</resources>
</configuration>
</plugin>

最后一部分,资源,将 docker build 基本路径放在你想要的任何文件夹中,即 /target 以及要包含的文件。

这将运行你的整个 Dockerfile 脚本

关于java - 通过maven插件生成docker镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50905290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com