at backyard

Color my life with the chaos of trouble.

Docker for WIndowsで"open //./pipe/docker_engine: The system cannot find the file specified. " みたいなエラーが出たときの対応

Docker for Windowsを使っていたときのこと、PCを再起動したタイミングで docker ps などでDockerコマンドを打つと、下記のようなエラーを吐くようになってコンテナを起動することができなくなってしまった。

# エラー全文は載せていないですが、あしからず
docker : error during connect:
・
・
・
open //./pipe/docker_engine:  The system cannot find the file specified. 

なお、このコマンドが出ても docker -v などのコマンドは正常に機能する。

日本語で検索すると、下記のようなdocker-machineの再作成で解決した方もいるようだが、そもそも docker-machine というコマンド自体が打てない。

docker-machine rm default
docker-machine create default --driver virtualbox

下記のドキュメントを見ると docker machine も一緒に入っているようだが、参照はできないのか。それともそもそも入っていないのか...

Docker Machine のインストール — Docker-docs-ja 19.03 ドキュメント

Docker for WIndowsで"open //./pipe/docker_engine: The system cannot find the file specified. " みたいなエラーが出たときの解決方法

前置きが長くなってしまったが、Docker for Windowsで上記問題を解決するために、コマンドプロンプトで下記のコマンドを打った。
このコマンドを打つと、自身の環境で5分ほど反応がなくなったが、その後Dockerが正常に起動したようで docker psと打った場合、正常に反応するようになった。
もちろんコンテナの起動も問題ない。

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

なお、下記のページを参照している。

forums.docker.com

github.com

これらのコマンドの仕組みやエラーの原因などまでは深堀りしていない。

深堀りと言えば、最近の fukabori.fm でコンテナランタイムについて話していた。

Dockerを普段から触ってはいるが技術の細部まで理解できていない自分のような人間でも、とても楽しく聞けた。

fukabori.fm

おすすめ。