一尘不染

`docker-credential-gcloud`不在系统路径中

docker

在对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

我还运行source /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud- sdk/path.zsh.inc了原始gcloud安装。


阅读 552

收藏
2020-06-17

共1个答案

一尘不染

注意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发现在gcloud中有一个符号链接/usr/local/bin。第一次安装gcloud时,此符号链接由Homebrew创建。现在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

它应该成功。

2020-06-17