とりあえず対処法として。
環境は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しておけば回避できました。