`docker-credential-gcloud`不在系统路径中
问题:docker-credential-gcloud不在系统路径中
在对 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。
解答
注意:以下所有docker-credential-gcr均可替换为docker-credential-gcloud。我认为这只是 gcloud 的不同版本,我可能错了。
我也使用 Homebrew Cask 来安装 gcloud。我安装了docker-credential-gcr
$ gcloud components install 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/中。
然后:
$ ls /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin
在那里你应该看到docker-credential-gcr在那里列出。
我只是将它链接到/usr/local/bin:
$ ln -s \
/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin/docker-credential-gcr \
/usr/local/bin/
然后运行:
$ docker-credential-gcr configure-docker
它应该成功。
更多推荐
所有评论(0)