为什么jib dockerBuild插件连接失败

Fun*_*der 4 maven-plugin maven docker jhipster jib

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

./mvnw -ntp -Pprod verify jib:dockerBuild
Run Code Online (Sandbox Code Playgroud)

不幸的是它似乎不起作用,它返回给我这个错误:

[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] 
Run Code Online (Sandbox Code Playgroud)

最后失败了:

[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]
Run Code Online (Sandbox Code Playgroud)

最近在做一个google cloud项目,编辑了~/.docker/config.json配置文件。我不得不删除谷歌的配置条目来解决另一个问题。这可能是我现在面临的问题的根源吗?

我已经尝试去做docker logoutdocker login没有成功。

Fun*_*der 8

一些注意事项

我不知道手动编辑配置是否导致了错误,事实上我很确定只删除了与 google 相关的条目,但没有提及 docker.* 或类似的条目。

要解决此问题,请避免手动编辑 docker 配置文件。事实上,我认为应该尽可能避免它,以避免任何类型的配置问题。

相反,只需按照错误消息试图告诉您的内容进行操作即可:docker is not able to access those urls。排除网络问题(例如,您可以排除网络问题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并重新启动该命令以查看是否足够。如果不是,请登录第二个,然后它就会起作用。