Mac
MacOSX
macos
docker

Docker for Mac インストール時に Fatal Error: Communication with networking components failed

この記事はなに?

表題の問題への対処法を記載します.

現象

Docker for Mac をインストールしようとすると,

Fatal Error: Communication with networking components failed

というエラーでこけることがあります.詳細を表示すると

/var/tmp/com.docker.vmnetd.socket does not exist

などと出てます.

対処法

このエラーを引き起こす原因は2つあります,僕は以下のその1のみ試してその2の存在に気付かなかったためずっと困ってました.

その1

この issue などを参照し以下のコマンドを走らせます.

$ sudo chown root:wheel /Applications/Docker.app/Contents/Resources/com.docker.vmnetd.plist
$ cd /Library/LaunchDaemons
$ ln -s /Applications/Docker.app/Contents/Resources/com.docker.vmnetd.plist

以下のその2の場合を除いてこれで治るかと思います.

その2

その1を試しても相変わらずエラーを吐くことがあります.結論から言うと,死ぬほどしょうもないのですが /var/tmpcom.docker.vmnetd.socket を置きたいのにそもそも /var/tmp が存在しないことが原因でした.

$ ls /var/tmp

としてみて,ls: /var/tmp: No such file or directory などと出たらビンゴです.以下のように作成することで解消できます.

$ sudo mkdir -p /var/tmp

終わりに

本当にしょうもないのですが意外とハマったので書き残しておきます.そもそも自分の Mac に /var/tmp なかったことにも驚きですが,それ以上に sudo 渡してるのにディレクトリ作ってくれない docker 氏…って感じですね.以上です.

参照