为什么臂架dockerBuild插件无法连接

问题描述

我正在尝试为我正在处理的项目构建docker映像。 它基于jhipster,在配置项目后,它告诉我运行以下maven命令:

./mvnw -ntp -Pprod verify jib:dockerBuild

不幸的是,它似乎不起作用,它向我返回了此错误

[WARNING] The credential helper (docker-credential-pass) has nothing for server URL: registry.hub.docker.com
...
[WARNING] The credential helper (docker-credential-pass) has nothing for server URL: index.docker.io
[WARNING] 

最后失败:

[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:2.4.0:dockerBuild (default-cli) on project booking: (null exception message): NullPointerException -> [Help 1]

最近,我从事一个Google云项目,并编辑了~/.docker/config.json配置文件。我必须删除google的配置条目才能解决一个问题。难道这就是我现在面临的问题的根源?

我尝试做docker logoutdocker login都没有成功。

解决方法

一些注意事项

我不知道是否手动编辑配置会导致该错误,实际上我很确定只删除了与Google相关的条目,但没有删除涉及docker。*或类似内容的内容。

要解决此问题,避免手动编辑docker配置文件。实际上,我认为应尽可能避免这种情况,以免出现任何配置问题。

相反,只需按照错误消息试图告诉您的内容进行操作即可: docker无法访问这些URL 。排除网络问题(例如,您可以使用ping registry-1.docker.io进行故障排除),它应该是身份验证问题。

如何修复

我发现运行这些命令可以修复它:

docker login registry.hub.docker.com

docker login registry-1.docker.io

我不知道registry-1.docker.io是否只是另一个第一台服务器的镜像,插件在第一个失败的连接后会尝试访问该服务器。您可以尝试登录到registry.hub.docker.com,然后重新启动命令以查看其是否足够。如果不是这样,请登录第二个,然后它将起作用。