spring - 如何在 Spring Boot 项目中创建 docker 镜像
问题描述
我尝试使用 spotify/docker-maven-plugin 没有任何成功。
下面是我的 pom.xml 文件的一部分
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${dockerfile-maven-version}</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<repository>myrepo/maven-docker-spotify</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}-jar-with-dependencies.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
解决方案
您正在使用的spotify/docker-maven-plugin当前处于非活动状态。建议使用spotify/dockerfile-maven-plugin代替。
因此,将 pom.xml 文件的插件部分更改为如下所示
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>${dockerfile-maven-version}</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<repository>spotify/foobar</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
注意:您也可以尝试使用JIB maven 插件,该插件不需要您安装 docker 并且使用最少的配置即可工作。使用 JIB,在命令下运行就足够了
mvn compile com.google.cloud.tools:jib-maven-plugin:0.9.2:dockerBuild
推荐阅读
- spring-boot - Spring Boot - 在属性文件中读取容器环境变量
- node.js - 如何调整我的 NodeJs 服务器代码以响应 HTTPS 请求?
- haskell - Haskell sendAll 消息到套接字客户端导致:`Exception: Network.Socket.sendBuf: invalid argument (Transport endpoint is not connected)`
- pine-script - 从系列中获取恒定值
- tensorflow - 模型训练方法之间的比较
- r - 用 ggbio 绘制 GenomicRanges 中最长的转录本
- java - 如何解决我的“无法解析符号”java 错误?
- python - 从python中的数据透视表创建频率表
- aem - 如何在 AEM 上的列表组件对话框中使用子编辑器?
- javascript - 过滤重复项并将它们分组到单独的数组中