はじめに
error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocke r_engine/_ping": open //./pipe/docker_engine: The system cannot find the file specified.
上記エラーの解決方法です。
Googleで検索して回っていると、いろんな解決方法が存在しておりますが、私の場合はこれで復活できたという記録になります。
さらに私の場合は、Docker for Windows がシステムトレイ(タスクトレイ)にも表示されず、UIが開けなかったため、コマンドラインベースでの解決方法になります。
現象について
前提
Windows 10 Pro で Docker for Windows を使っています。
Linuxが好きなのでCygwinも使ってます。
エラーが起きたときのこと
Docker for Windows がシステムトレイに表示されない状態だったので、再インストールを試してみたのです。
そうすると、docker --version
やdocker-compose --version
は動くのですが、docker-compose up -d
やdocker-compose ps -a
を実行するとエラーが表示され、コンテナが立ち上がらなくなってしまいました。
error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocke r_engine/_ping": open //./pipe/docker_engine: The system cannot find the file specified.
やったけどダメだったこと
何度かDocker for Windows の再インストール、PCの再起動を試しましたが、全然解決せず…。
Google先生に聞いてみることに。
解決方法
管理者モードのPowerShellで下記を実行する。
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon .
参考:
Windows オペレーティング システム コンテナーの準備 | Microsoft Docs
これで上記エラーが出なくなりますが…今度は下記エラーが出て、やはりコンテナが立ち上がりません。
no matching manifest for windows/amd64 10.0.19043 in the manifest list entries, Code: 1
そこで今度は、
%AppData%\Docker\last-start-windows-daemon.json
を開いて、値を編集します。
{"experimental":false} ↓ {"experimental":true}
"experimental"
というのは「実験的機能を有効にする」設定であるとのこと。
詳しくは下記を参照です。
Docker for Windows を始めよう — Docker-docs-ja 19.03 ドキュメント
解説…はまだできず…
時間がないので、いったん解決方法の共有ということで…。
- PowerShellでやっていることの中身
- なぜ「実験的機能を有効にする」だけで解決するのか
といったことは、いずれ調べようと思います…いずれ…。
終わりに
こちらの記事がどなたかの救いになれば幸いです。
ちなみに Docker for Windows がシステムトレイにいないのは変わらず…。
帰ってこないんだろうか…。
以上でした。