はじめに
必要に追われ、コンテナで Web サイトを構築することになりました。
ただ、ローカル PC に WSL 2 や Docker Desktop をインストールするとリソースがひっ迫しそうだし、他の作業に支障をきたしそうだし...そうだ、Azure 仮想マシンに環境を構築しよう。
仮想マシンでコンテナの開発環境を構築
仮想マシン (Windows) を作成して、Docker Desktop をインストールします。
インストールが完了したので、Docker Desktop を起動すると、「仮想化サポートが検出されなかったため、Docker Desktop を起動できませんでした」と表示され、正常に起動しませんでした。なぜだ?
ドキュメントに書いてあった
Azure 仮想マシンで Docker Desktop を実行するための前提条件がありました。
ここには、「ネスト化された仮想化 (Nested Virtualization) の有効化」が必須だと記載されていました。その理由は、「Docker Desktop 内部で Linux VM を使用し、Docker Engine とコンテナを実行しているから」ということだそうです。
では、Azure 仮想マシンで「ネスト化された仮想化の有効化」をどのように設定すれば良いかというと、「ネスト化された仮想化」がサポートされている VM サイズでデプロイすれば OK です。
「ネスト化された仮想化」がサポートされているかは、各仮想マシンサイズ シリーズの「機能のサポート」セクションを確認しましょう。
- 例: Dasv5 サイズ シリーズ
対応している VM サイズに変更
「ネスト化された仮想化」がサポートされている仮想マシンにサイズ変更します。今回は、Standard_B4as_v2 から Standard_D4as_v5 に変更しました。
はい。無事 Docker Desktop が起動できました。これで、コンテナ開発に着手できます。
まとめ
「ネスト化された仮想化」がサポートされていない仮想マシンで wsl --install を実行すると成功したように見えますが、WSL 2 の起動には失敗してしまいます。
- 「ネスト化された仮想化」がサポートされていない場合
- 「ネスト化された仮想化」がサポートされている場合
Docker Desktop が正常に起動しない場合は、仮想マシンのサイズをチェックしましょう。
余談: つづきを残しておきたい...
ここから先は、ちょっとニッチな?誰得な?アプリをコンテナ化する話へ。年内にはデプロイしたいので、今は全力で作業中💦
続報待て? ![]()







