web-dev-qa-db-ja.com

Docker / GCloud |インストールされていないか、PATHで利用できないdocker-credential-gcloudを修正するにはどうすればよいですか?

シンプルなdocker-composeコマンドを実行しようとしています。しかし、コンソールエラー:

Building patch-panel
Traceback (most recent call last):
  File "bin/docker-compose", line 6, in <module>
  File "compose/cli/main.py", line 71, in main
  File "compose/cli/main.py", line 127, in perform_command
  File "compose/cli/main.py", line 1080, in up
  File "compose/cli/main.py", line 1076, in up
  File "compose/project.py", line 475, in up
  File "compose/service.py", line 358, in ensure_image_exists
  File "compose/service.py", line 1082, in build
  File "site-packages/docker/api/build.py", line 251, in build
  File "site-packages/docker/api/build.py", line 313, in _set_auth_headers
  File "site-packages/docker/auth.py", line 96, in resolve_authconfig
  File "site-packages/docker/auth.py", line 127, in _resolve_authconfig_credstore
  File "site-packages/dockerpycreds/store.py", line 25, in __init__
dockerpycreds.errors.InitializationError: docker-credential-gcloud not installed or not available in PATH
[4167] Failed to execute script docker-compose

Pipインストーラーに問題があることを読んでいて、pythonバージョンです。しかし、2つの問題があります。WSL(Linux)を使用しています。これは、手順が欠落しているため、少しトリッキーです。ソリューションから、私はdockerに慣れていません私はdocker-composeを実行したいだけです、そして私はできません。誰かがそれを修正する方法を教えてもらえますか?

私のシステムに関するいくつかの情報:gcloud infoを実行した後

Google Cloud SDK [232.0.0]

Platform: [Linux, x86_64] ('Linux', 'DESKTOP-OF5642B', '4.4.0-18329-Microsoft', '#1-Microsoft Tue Jan 29 15:04:00 PST 2019', 'x86_64', '')
Python Version: [2.7.15+ (default, Nov 28 2018, 16:27:22)  [GCC 8.2.0]]
Python Location: [/usr/bin/python2]
Site Packages: [Disabled]

Installation Root: [/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk]
Installed Components:
  docker-credential-gcr: []
  core: [2019.01.27]
  gsutil: [4.35]
  bq: [2.0.40]
System PATH: [/home/efsta/go//bin:/usr/local/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/c/ProgramData/DockerDesktop/version-bin:/c/Program Files/Docker/Docker/Resources/bin:
/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/iCLS/:/c/Program Files/Intel/Intel(R) Management Engine Components/iCLS/:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/c/WI
NDOWS/System32/OpenSSH/:/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/IPT:/c/Program Fil
es/Intel/Intel(R) Management Engine Components/IPT:/c/Users/Efsta/scoop/shims:/c/Users/Efsta/AppData/Local/Microsoft/WindowsApps:/c/Users/Efsta/AppData/Local/Programs/Microsoft VS Code/bin:/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-clo
ud-sdk/bin:/home/efsta/.dotnet/tools]
Python PATH: [/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk/lib/third_party:/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk/lib:/usr/lib/python2.7:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk
:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload]
Cloud SDK on PATH: [True]
Kubectl on PATH: [False]

Installation Properties: [/c/Users/Efsta/AppData/Local/Google/Cloud SDK/google-cloud-sdk/properties]
User Config Directory: [/home/efsta/.config/gcloud]
Active Configuration Name: [default]
Active Configuration Path: [/home/efsta/.config/gcloud/configurations/config_default]

Account: [[email protected]]
Project: [k8-engine]

Current Properties:
  [core]
    project: [k8-engine]
    account: [[email protected]]
    disable_usage_reporting: [True]

Logs Directory: [/home/efsta/.config/gcloud/logs]
Last Log File: [/home/efsta/.config/gcloud/logs/2019.02.04/02.22.49.856181.log]

git: [git version 2.20.1]
ssh: [OpenSSH_7.9p1 Debian-5, OpenSSL 1.1.1a  20 Nov 2018]

gcloud --versionを実行した後:

Google Cloud SDK 232.0.0
bq 2.0.40
core 2019.01.27
docker-credential-gcr
gsutil 4.35

Docker infoおよびdocker compose version

Containers: 0
 Running: 0
 Paused: 0 
 Stopped: 0
Images: 2  
Server Version: 18.09.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge Host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
runc version: 96ec2177ae841256168fcf76954f7177af9446eb
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.125-linuxkit
Operating System: Docker for Windows
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.952GiB
Name: linuxkit-00155d010201
ID: 4TYN:GKJ7:IX2L:JZDX:IFSU:CSME:6VEU:3SRL:4LD2:NZCB:NYDL:DTUA
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 22
 Goroutines: 46
 System Time: 2019-02-04T00:28:06.9845313Z
 EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
docker-compose version 1.23.2, build 1110ad01
docker-py version: 3.6.0
CPython version: 3.6.7
OpenSSL version: OpenSSL 1.1.0f  25 May 2017
10
Dimitris Efst

私はまったく同じ問題を抱えていました。 ~/.docker/config.jsonを削除すると、すぐに修正されました。ここを参照してください: https://github.com/docker/for-linux/issues/38

18
adstwlearn

〜/ .docker/config.jsonを開き、「credHelpers」オブジェクトを削除すると修正されました。

2
Chad

同じ問題がありました。私はUbuntu 16.04を使用していて、apt-getを使用してSDKをインストールしていました。この回答を書いているときは、apt-getを通じて依存関係docker-credential-gcrを使用できませんでした。

Apt-getからgcloudをアンインストールし、Google Cloud SDKインストーラースクリプトを使用して解決しました( https://cloud.google.com/sdk/docs/downloads-interactive ):

curl https://sdk.cloud.google.com > install.sh

bash install.sh --disable-prompts

~/google-cloud-sdk/install.sh

その後、ターミナルを閉じて再度開き、docker-composeを再度実行しようとすると、完全に機能しました。

1
Alfeu

問題がありました。 @adstwlearnの回答に続いて、〜/ .docker/config.jsonファイルを確認したところ、「credHelpers」のエントリの1つが「gcr」ではなく「gcloud」を参照していました。それを変更するだけで、後で何かを再構成する必要なく修正できました。

1
Sebastien Orban

Gcloudを使用している場合は、次のコマンドを実行します

gcloud auth configure-docker

.docker/config.jsonのcredHelpersを更新する必要があります

https://cloud.google.com/container-registry/docs/advanced-authentication

それは私のためにそれを修正しました。

0
Caleb Tolu