DockerとVirtualBoxを共存させる方法【Windows10】

Windows10でVirtualBoxとDockerを 共存させる方法

Windows10で、Docker Desktop for Windowsをインストールしたら、VitualBoxで構築した仮想マシンが起動しなくなったことはないでしょうか。

VitualBoxの仮想マシンが起動しなくなった原因としては、Docker Desktop for Windowsをインストールしたことにより、Windows標準機能のHyper-VとVitualBoxの仮想化技術が競合したためです。

Windows10でDockerとVirtualBoxは共存できないのかと思うでしょうが、解決方法があります。

この記事では、Windows10でVirtualBoxとDockerを共存させる方法について解説します。Windows10 Homeエディションで、Docker Desktop for Windowsが利用できなくて諦めてしまった人向けにも役に立つ内容です。

DockerとVirtualBoxを共存させる方法【Windows10】

Windows10でDockerとVirtualBoxを共存させるには、以下の条件やツールが必要です。

  • Docker Desktop for Windowsは不要(アンインストール)
  • Hyper-Vの無効化
  • VirtualBoxのインストール
  • Docker toolboxのインストール
  • Docker Quickstart Terminalを実行

Docker Desktop for Windowsは不要(アンインストール)

VirtualBoxとDockerを共存させるには、Docker Desktop for Windowsは不要です。インストールしていた場合は、アンインストールしましょう。

Docker Desktop for Windowsをインストールすると、Windows標準機能であるHyper-Vが有効になります。

Hyper-VとVirtualBoxが共存すると、それぞれの仮想化支援技術が理由で「競合」が起こり、結果としてVirtualBoxの仮想マシンが起動しなくなります

Docker Desktop for Windowsをインストール後のVirtualBoxのエラー例

  • 環境
    ・Windows10 Pro
    ・VirtualBox バージョン 6.1.8 r137981 (Qt5.6.2)
    ・docker desktop 2.3.0.3
  • 事象
    ・VagrantとVirtualboxを使って仮想マシンを作成・起動 → 問題なく動作する
    ・Docker Desktop for Windows をインストールしてコンテナ作成 → 問題なく動作する。
    ・Virtualboxで仮想マシン起動 → エラー発生・仮想マシンが起動しない

仮想マシン”GNS3 VM”のセッションを開けませんでした。

Cannot enable nested VT-x/AMD-V without nested-paging and unresricted guest execution!

(VERR_CPUM_INVALID_HWVIRT_CONFIG).

終了コード : E_FAIL (0x80004005)
コンポーネント: ConsoleWrap
インターフェース: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Docker Desktop for Windowsを利用するための条件

  • システム要件
    Windows10 Pro / Enterprise / Education
    (Windows HomeエディションはHyper-Vが使用できないため、Docker for Windowsはインストールできません)
  • Windows標準機能であるHyper-Vが有効になっていること

Hyper-Vの無効化

先に述べた理由から、Hyper-Vが有効になっていると、VirtualBoxの仮想マシンが起動しなくなります。Virtualboxで仮想マシンを起動する時は、Hyper-V を無効化(オフ)しましょう。

Hyper-Vを無効化する方法

管理者権限でコマンドプロンプトを起動し、bcdedit コマンドを実行後に、PCを再起動します。
(ショートカット方法:Windowsキー + r → Ctrl + Shift + Enter)

C:\WINDOWS\system32> bcdedit /set hypervisorlaunchtype off
この操作を正しく終了しました。

Hyper-Vを有効化する方法

やっぱりHyper-Vを有効化したい!という場合は、以下のコマンドを実行後にPCを再起動しましょう。

C:\WINDOWS\system32> bcdedit /set hypervisorlaunchtype auto
この操作を正しく終了しました。

VirtualBoxのインストール

ここまで読んでいる方は、すでにVirtualBoxをインストール済みだと思いますので、この項目は飛ばしてください。

VirtualBoxのインストールがまだなら、Oracelの公式サイトよりVirtualBoxをダウンロードしてインストールしましょう。

VirtualBoxのインストール方法については、Virtualboxのダウンロード・インストール方法(Windows・Mac)で解説してます。

Docker toolboxのインストール

GitHubからDocker toolboxというツールをインストールします。

Releases · docker/toolbox · GitHub

Docker toolboxは、VirtualBoxとDockerが共存できるようにするためのツールです。Docker toolboxは、Hyper-VではなくVirtualBox上でDockerが使えるようになります。

DockerToolbox-[バージョン数].exe というファイルをダウンロードして実行します。

この際、インストールしているソフトがある場合は、チェックを外してください(VirtualBox、Git for Windows など)。

Docker Quickstart Terminalを実行する

Docker toolboxのインストールが完了したら、Docker Quickstart Terminal というショートカットを起動します。

一番最初のセットアップ(VirtualBox上へ自動的に環境構築など)は、少し時間がかかります。
セットアップが完了したら、クジラの絵文字が表示されDockerが起動します。

その後は、通常のDockerを同じように操作できます。

VirtualBoxとDockerを共存させる方法

まとめ

  • Windows10でDockerとVirtualboxを共存させる方法
    ・Docker toolboxを使う
    ・Docker Desktop for Windowsは不要(アンインストール)
    ・Virtualbox使用時はHyper-Vをオフにする必要がある