\`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

原文由 ZaxR 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 520
2 个回答

注意:以下所有 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

它应该成功。

原文由 Xiwen Li 发布,翻译遵循 CC BY-SA 4.0 许可协议

刚刚在 Windows 上遇到了同样的问题,使用 Linux 容器运行 Docker,Docker 引擎 v19.03.8。使用码头工人撰写。我不将 gcloud 用于我的 dockerfile…

DT1001 dockerpycreds.errors.InitializationError: docker-credential-gcloud 未安装或在 PATH 中不可用

  1. 选项 1:编辑 docker 配置文件并从那里删除所有 gcloud 条目。

    • 视窗 c:/Users/<your account>/.docker/config.json

    • Linux & MacOS ~/.docker/config.json

  2. 选项 2:转到疑难解答 -> 重置为出厂默认设置。

在此之后,我的 docker compose 正在创建容器并运行图像而没有任何问题。

原文由 Milen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进