概要
Hyper-Vの仮想環境内にDockerをインストールしても通常では動作しません。
ホストOS側で Nested Virtualization
(入れ子になった仮想化) 設定を予めしておく必要があります。
動作確認環境
ホストOSの設定
1. Nested Virtualization を設定
- Nested Virtualizationを設定したい仮想マシンをオフ状態にする
- PowerShell で以下のコマンドを入力する。(
<VMName>
には仮想マシン名を入力する。)
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
ゲストOSの設定
1. Hyper-Vを有効化
- ゲストOS内でHyper-Vを有効化する。
- PowerShellやGUIのどちらからの設定でも問題ありません。
- 参考URL:https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
2. Dockerをインストール
- Docker Desktop for Windows を公式サイトよりダウンロードしてインストールする。
3. Dockerの動作確認
- コマンドプロントで
docker run hello-world
を実行して正常に動作すれば完成です!
おわりに
- Hyper-Vの仮想環境で家では開発しているのですが、AWS SAM CLIを使用するのにはまったので記事にしました。AWS SAM CLIについては別途記事にしようかと考えています。
- 入れ子になった仮想化 という日本語訳がかっこ悪いですね・・・