Docker for mac で Communication with networking components が発生
2018-07-24

Warning

試すときは自己責任でお願いします

場合によっては イメージとかコンテナとか作り直す必要がありそうです

Note

使ってる MacOS は OSX El Capitan です

Docker CE がバージョンを上げろとしつこいのでバージョンを上げたら Fatal Error: Communication with networking components が発生しました。

/2018/docker-for-mac-error/fatal.png

まったく.. 頬を赤らめるな!

で、エラーメッセージで検索すると以下のような解決方法が見つかりました。

docker/for-mac/issues/107#issuecomment-237320370

Found fix:

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

sudo launchctl load com.docker.vmnetd.plist

あなたが神か。

というわけで以下は試してみたログです

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

# すでにファイルがあるというので (そりゃそうだ
LaunchDaemons $ ln -s /Applications/Docker.app/Contents/Resources/com.docker.vmnetd.plist
ln: ./com.docker.vmnetd.plist: File exists

# .bak で退避して
LaunchDaemons $ sudo mv com.docker.vmnetd.plist com.docker.vmnetd.plist.bak

# シンボリックリンクを張り直す
LaunchDaemons $ sudo ln -s /Applications/Docker.app/Contents/Resources/com.docker.vmnetd.plist

# で実行すると今度は すでにロードされてるというので
LaunchDaemons $ sudo launchctl load com.docker.vmnetd.plist
/Applications/Docker.app/Contents/Resources/com.docker.vmnetd.plist: service already loaded

# reload はないそうです
LaunchDaemons $ sudo launchctl reload com.docker.vmnetd.plist
Unrecognized subcommand: reload

# unload してから
LaunchDaemons $ sudo launchctl unload com.docker.vmnetd.plist
# load すると
LaunchDaemons $ sudo launchctl load com.docker.vmnetd.plist

起動しました。

/2018/docker-for-mac-error/about.png

守りたい、この笑顔。