1. ホーム
  2. docker

docker-credential-gcloud`がシステムのPATHにない。

2023-10-05 21:29:32

質問

gcloud と docker の最新のアップデート後、google コンテナリポジトリのイメージにアクセスできなくなりました。 ローカルで実行すると gcloud auth configure-docker を実行すると、次のメッセージが表示されます。

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をpathにインストール/追加する方法が分かりません。以下は、私がインストールしたものです (以下を介して表示されます)。 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 Version 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 を実行しました。

どのように解決するのですか?

お知らせ : 全て 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

成功するはずです。