とりあえず対処法として。
環境はWindows10 Home、Docker Toolbox 18.03.0-ceです。
スポンサーリンク
docker-compose upでエラーが出る
dynamodb-adminをdocker-composeで使用するために指定すると、docker-compose upで次のエラーが出てきました。
$ docker-compose.exe up Pulling dynamodbadmin (instructure/dynamo-local-admin:latest)... Traceback (most recent call last): File "site-packages\dockerpycreds\store.py", line 52, in _execute File "subprocess.py", line 336, in check_output File "subprocess.py", line 403, in run File "subprocess.py", line 709, in __init__ File "subprocess.py", line 997, in _execute_child FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "site-packages\docker\auth.py", line 126, in _resolve_authconfig_credstore File "site-packages\dockerpycreds\store.py", line 25, in get File "site-packages\dockerpycreds\store.py", line 70, in _execute dockerpycreds.errors.StoreError: docker-credential-wincred not installed or not available in PATH During handling of the above exception, another exception occurred: Traceback (most recent call last): File "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 1039, in up File "compose\cli\main.py", line 1035, in up File "compose\project.py", line 465, in up File "compose\service.py", line 321, in ensure_image_exists File "compose\service.py", line 1105, in pull File "site-packages\docker\api\image.py", line 359, in pull File "site-packages\docker\auth.py", line 47, in get_config_header File "site-packages\docker\auth.py", line 94, in resolve_authconfig File "site-packages\docker\auth.py", line 143, in _resolve_authconfig_credstore docker.errors.DockerException: Credentials store error: StoreError('docker-credential-wincred not installed or not available in PATH',) [18152] Failed to execute script docker-compose
imageの指定をnginxなどに変更して試してみると問題なく動くようで、環境全体がおかしいわけではなさそうです。
config.jsonからwincredを削除した
とりあえず対処療法としてですが、wincredが上手く使えていないようなので~/.docker/config.jsonから外してみました。
元々のファイルが次のようになっていましたので、
{ "credsStore": "wincred", "auths": {} }
wincredの行だけ削りました。
{ "auths": {} }
認証周りの話になるようなので、場合によってはまた別の(ちゃんとした)対応が必要になるところがあるかもしれませんが、imageのダウンロードくらいだったら無しでも大丈夫そうでした。
参考:
Hi, I am using docker toolbox for windows. When I try docker-login, I receive the following message: $ docker login error getting credentials - err: exec: "dock...
イメージをpullしておけば回避できる
また別の方法として、docker-compose upする前にdocker pullしておけば回避できました。