Docker for MacとBlueStacksが競合する

BlueStacksをインストールしたところDockerが使用できなくなりました。

環境

  • MacOS: High Sierra(10.13.6)
  • $ docker version

    Version:           19.03.13

  • BlueStacks: Version 4.230.10(2820)

背景

$ docker image ls Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

上記のようにdockerのコマンドを入力するとdocker deamonはrunningしてるかい?とTerminalに尋ねられたことで発覚した。

確かに画面上部のメニューバーで泳いでいるはずのクジラがいない。

そこでDocker Desktopのアプリケーションを起動する。

すると以下のようなモーダルウィンドウが表示される。

20201101-1.png

BlueStacks Detected BlueStacks will crash the operating system if Docker runs in the same macOS boot session after BlueStacks has run. We recommend uninstalling BlueStacks in order to use Docker Desktop.

BlueStacks実行後にDockerが同じMacOSのブートセッションで実行されるとOSをクラッシュさせます。Dockerを使用するためにはBlueStacksをアンインスールすることをオススメする、とある。

どうも彼らは共演NGらしい。

ちなみにStart Anywayをクリックしても、一瞬起動する挙動を見せるのだが即座にDockerが終了する。なんにせよ起動することができない。

調査

https://forums.docker.com/t/docker-cause-mac-os-crash-when-using-with-bluestack/19217

https://github.com/docker/for-mac/issues/4202

上記リンクのようにDockerのフォーラムやgithubで同様の問題は報告されているものの、根本的な解決には至っていないようである。

4年ほど前のdockerのrelease note(https://docs.docker.com/docker-for-mac/release-notes/)に以下の記載を見つけた。

20201101-2.png

Warn the user if BlueStacks is installed(potential kernel panic)

カーネルパニックの可能性があるため、BlueStacksをインストールしているユーザーに警告する、とあった。

それが先ほどのモーダルウィンドウなのだろう。

やはりBlueStacksをインストールしている限りDockerは使えないらしい。

解決

BlueStacksをアンインストールすることでDockerを起動することができた。

AndroidをエミュレートするためにBlueStacksをインストールしていたので、根本的な解決ではないが、とりあえずDockerは実行できるようになった。

さらばBlueStacksよ。僕は別のAndroidエミュレータを探しにジャングルの奥地へと向かうのである。