Ubuntu(含Windows WSL2)非root用户执行mvn jib:dockerBuild失败
问题复现情况
对纯净的Micronaut 3.0.2项目执行mvn jib:dockerBuild命令,返回如下错误输出:
[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:2.7.1:dockerBuild (default-cli) on project barn-validation-step: Build to Docker daemon failed, perhaps you should make sure your credentials for 'registry-1.docker.io/library/openjdk' are set up correctly. See https://github.com/GoogleContainerTools/jib/blob/master/docs/faq.md#what-should-i-do-when-the-registry-responds-with-unauthorized for help: Unauthorized for registry-1.docker.io/library/openjdk: 401 Unauthorized [ERROR] GET https://auth.docker.io/token?service=registry.docker.io&scope=repository:library/openjdk:pull [ERROR] {"details":"incorrect username or password"}
- 在命令前加sudo执行
sudo env "PATH=$PATH" mvn jib:dockerBuild,构建成功。在Azure Pipelines中使用Maven步骤执行该构建也可正常成功。 - 已自行验证:可正常执行
docker login登录,执行如下curl命令也可正常返回token:
curl https://auth.docker.io/token?service=registry.docker.io&scope=repository:library/openjdk:pull
后续排查结果
- 完全卸载Docker后按照官方教程重新安装,重装完成后无需加sudo即可正常执行
mvn jib:dockerBuild命令。 - 执行
gcloud auth configure-docker命令后问题复现,此时.docker/config.json文件中新增了如下配置:
"credHelpers": { "asia.gcr.io": "gcloud", "eu.gcr.io": "gcloud", "gcr.io": "gcloud", "marketplace.gcr.io": "gcloud", "staging-k8s.gcr.io": "gcloud", "us.gcr.io": "gcloud" }
- 手动删除config.json中的上述配置段后,
mvn jib:dockerBuild恢复正常。
内容的提问来源于stack exchange,提问作者Roar S.
相关产品推荐
相关产品推荐

