WindowsでDockerコマンドが急に動かなくなったら

Windowsで急にDockerコマンドが動かない・・・

Windowsが突然シャットダウンしたせいで、Dockerコマンドを叩くと次のようなエラーに突然出くわしたことはありませんか?

$ docker ps -a

error during connect: This error may indicate that the docker daemon is not running.: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json?all=1: open //./pipe/docker_engine: The system cannot find the file specified.

docker-composeを使う時にこんなことが起きたり。

docker-compose up
Traceback (most recent call last):
  File "site-packages\docker\api\client.py", line 205, in _retrieve_server_version
  File "site-packages\docker\api\daemon.py", line 181, in version
  File "site-packages\docker\utils\decorators.py", line 46, in inner
  File "site-packages\docker\api\client.py", line 228, in _get
  File "site-packages\requests\sessions.py", line 543, in get
  File "site-packages\requests\sessions.py", line 530, in request
  File "site-packages\requests\sessions.py", line 643, in send
  File "site-packages\requests\adapters.py", line 449, in send
  File "site-packages\urllib3\connectionpool.py", line 677, in urlopen
  File "site-packages\urllib3\connectionpool.py", line 392, in _make_request
  File "http\client.py", line 1244, in request
  File "http\client.py", line 1290, in _send_request
  File "http\client.py", line 1239, in endheaders
  File "http\client.py", line 1026, in _send_output
  File "http\client.py", line 966, in send
  File "site-packages\docker\transport\npipeconn.py", line 32, in connect
  File "site-packages\docker\transport\npipesocket.py", line 23, in wrapped
  File "site-packages\docker\transport\npipesocket.py", line 72, in connect
  File "site-packages\docker\transport\npipesocket.py", line 59, in connect
pywintypes.error: (2, 'CreateFile', 'The system cannot find the file specified.')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "docker-compose", line 3, in <module>
  File "compose\cli\main.py", line 67, in main
  File "compose\cli\main.py", line 123, in perform_command
  File "compose\cli\command.py", line 69, in project_from_options
  File "compose\cli\command.py", line 132, in get_project
  File "compose\cli\docker_client.py", line 43, in get_client
  File "compose\cli\docker_client.py", line 170, in docker_client
  File "site-packages\docker\api\client.py", line 188, in __init__
  File "site-packages\docker\api\client.py", line 213, in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: (2, 'CreateFile', 'The system cannot find the file specified.')
[372] Failed to execute script docker-compose

解決策

下記のコマンドを実行してみましょう。これで直るはずです。

$ "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

このエラーは、突然のシャットダウンによりDockerのデーモンが生き残っているために起きています。 そのために上記のコマンドでデーモンを切り替えます。

この後、今までのイメージが出てこなくなった場合はDockerを再起動してみてください。

急にこんなエラーが起きるとびっくりしますよね。

Updated at: Sat Feb 27 2021

© 2020-presentTerms|Privacy