シンプルな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
私はまったく同じ問題を抱えていました。 ~/.docker/config.json
を削除すると、すぐに修正されました。ここを参照してください: https://github.com/docker/for-linux/issues/38 。
〜/ .docker/config.jsonを開き、「credHelpers」オブジェクトを削除すると修正されました。
同じ問題がありました。私は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を再度実行しようとすると、完全に機能しました。
問題がありました。 @adstwlearnの回答に続いて、〜/ .docker/config.jsonファイルを確認したところ、「credHelpers」のエントリの1つが「gcr」ではなく「gcloud」を参照していました。それを変更するだけで、後で何かを再構成する必要なく修正できました。
Gcloudを使用している場合は、次のコマンドを実行します
gcloud auth configure-docker
.docker/config.jsonのcredHelpersを更新する必要があります
https://cloud.google.com/container-registry/docs/advanced-authentication
それは私のためにそれを修正しました。