在对 gcloud 和 docker 进行最新更新后,我无法访问我的 google 容器存储库中的图像。在本地运行时: gcloud auth configure-docker
按照更新 gcloud 后的说明,我收到以下消息:
WARNING: `docker-credential-gcloud` not in system PATH.
gcloud's Docker credential helper can be configured but it will not work until this is corrected.
gcloud credential helpers already registered correctly.
运行 which docker-credential-gcloud
返回 docker-credential-gcloud not found
。
我没有其他与 gcloud 相关的路径问题,而且我一生都无法弄清楚如何将 docker-credential-gcloud 安装/添加到路径。这是我安装的(通过 gcloud version
显示):
Google Cloud SDK 197.0.0
beta 2017.09.15
bq 2.0.31
container-builder-local
core 2018.04.06
docker-credential-gcr
gsutil 4.30
我还有 Docker CE 版本 18.03.0-ce-mac60 (23751)。
这是我的 $PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我还在原始 gcloud 安装上运行了 source /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc
。
原文由 ZaxR 发布,翻译遵循 CC BY-SA 4.0 许可协议
注意:以下所有
docker-credential-gcr
都可以替换为docker-credential-gcloud
。我认为这只是 gcloud 的不同版本,我可能错了。我也使用 Homebrew Cask 来安装 gcloud。我安装了
docker-credential-gcr
然后就像你说的,
which docker-credential-gcr
没有给你任何东西。所以我跑了
which gcloud
发现在/usr/local/bin
中有一个指向 gcloud 的符号链接。这个符号链接是 Homebrew 在您首先安装 gcloud 时创建的。现在docker-credential-gcr
不是由 Homebrew 安装的,而是由 gcloud 本身安装的,所以没有符号链接。我打电话给
readlink /usr/local/bin/gcloud
并发现 gcloud 安装在/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/
中。然后:
在那里你应该看到
docker-credential-gcr
列在那里。我只是将它链接到
/usr/local/bin
:然后运行:
它应该成功。