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を同じように操作できます。
まとめ
- Windows10でDockerとVirtualboxを共存させる方法
・Docker toolboxを使う
・Docker Desktop for Windowsは不要(アンインストール)
・Virtualbox使用時はHyper-Vをオフにする必要がある