Spring Boot 项目打包Docker镜像到Harbor
环境说明
- Harbor 部署在192.168.2.105
步骤说明
引入
dockerfile-maven-plugin
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<executions>
<execution>
<id>default</id>
<goals>
<!--如果package时不想用docker打包,就注释掉这个goal
<goal>build</goal>
<goal>push</goal>-->
</goals>
</execution>
</executions>
<configuration>
<!-- 上下文路径配置,此处设置为项目根路径 用来读取Dockerfile-->
<contextDirectory>${project.basedir}</contextDirectory>
<!--使用Maven的setting.xml来配置账号密码-->
<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
<!--上传路径/镜像构建名: Harbor地址/Harbor项目名/springboot项目名-->
<repository>${docker.registry}/${docker.image.prefix}/${project.artifactId}</repository>
<!-- 标签,最终会显示在Harbor镜像的标签中 -->
<tag>${project.version}</tag>
<!-- 作为Dockerfile 文件传入,也就是Dockerfile 中 ARG JAR_FILE的值-->
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>修改
setting.xml
<!-- harbor -->
<server>
<id>192.168.2.205</id>
<username>axin</username>
<password>Aa123456</password>
</server>问题解决
.\pipe\docker_engine
Get “https://192.168.2.205/v2/“: x509: cannot validate certificate for 192.168.2.205 because it doesn’t contain any IP SANs
解决:
vim /etc/docker/daemon.json
加上 "insecure-registries": ["harbor ip 地址"],
最终如下
{ |
参考文献
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Axinの博客!
评论