初老のボケ防止日記

おっさんのひとりごとだから気にしないようにな。

「Docker for Windows」と「Oracle VM VirtualBox」は同時に使えない

キィーーー! 私とあの娘、どっちが大事なのよ!

先日、正式版がリリースされた「Docker for Windows」。

docs.docker.com

以前にクローズドβを試してみた記事を書いております。

osa030.hatenablog.com

今までWindows上でDockerを起動するには、VirtualBoxを使う必要があったのだけれども、それを直接利用できるのは便利なことこの上ない。でも、待って頂戴。

コンテナ上で起動するアプリの開発はどこでやるの?

勿論作るアプリの機能によるのだろうけれど、オッサン的には実行環境のOSによる振る舞いとかで後々悩むのは嫌なので、コンテナで起動するのと同じOS使ってVirtualBox上で開発するのである。

で、実際に1台のPC上で「Docker for Windows」と「Oracle VM VirtualBox」を併用しようとしてハマったので記念メモ。

Docker for Windows

f:id:osa030:20160805092119p:plain

「ワシには武器(Hyper-V)が必要なんじゃぁああああ!」
とおっしゃっております。

ということで、Dockerさんを使うには

  • 「プログラムと機能」の「Windowsの機能の有効化または無効化」

f:id:osa030:20160805092231p:plain

  • 「Hyper-V」にチェックして「OK」をクリック

f:id:osa030:20160805092134p:plain

  • 再起動

f:id:osa030:20160805092139p:plain

Oracle VM VirtualBox

f:id:osa030:20160805092155p:plain

「ふぇええ。応援(仮想化支援機能)がないと動けないよぉおお。」
とおっしゃっております。

ということで、VirtualBoxさんを使うには

  • 「プログラムと機能」の「Windowsの機能の有効化または無効化」

f:id:osa030:20160805092231p:plain

  • 「Hyper-V」にチェックを外して「OK」をクリック

f:id:osa030:20160805092126p:plain

  • 再起動

f:id:osa030:20160805092139p:plain


つまり、Docker for Windowsが利用している「Hyper-V」とOracle VM VirtualBoxがホストマシンの仮想化支援機能(VT-x/AMD-V)を専有してしまうので、どちらかしか使えないというオチでございます。まあ

考えたら当たり前なんですけども。

ということで、オッサンのようにDokcerとVirtualBoxを併用するには、

  1. 利用シーンに合わせて設定を切り替えて再起動
  2. VirtualBox上のDockerでコンテナ動作確認
  3. 開発環境もコンテナで
  4. 別のマシン使う

のどれかになるのかなと。