👨‍💻

Microsoft Dev Box を使って Docker Desktop on Windows を動かしてみる

2024/10/13に公開

はじめに

現在 mac での開発・検証がメインになっていますが、Windowsマシンを用いた開発・検証が必要な場面もいくつか出てきました。

Parallels Desktop などの仮想化ソフトウェアを利用したり、新たに Windows マシンを入手する方法もありますが、今回クラウドベースの開発環境である Microsoft Dev Box を利用してみることにしました。

https://learn.microsoft.com/ja-jp/azure/dev-box/overview-what-is-microsoft-dev-box

Microsoft Dev Box 自体の詳細についてはここでは割愛させていただきますが、開発環境において以下のようなメリットを得ることができます。

  • オンデマンドでの開発環境提供
  • 開発環境のセットアップと管理の簡素化
  • リモートワークやハイブリッドワークへの対応
  • 高性能コンピューティングリソース
  • セキュリティとコンプライアンスの強化


Microsoft Dev Box のアーキテクチャー

また、Docker では Microsoft Dev Box とのパートナーシップにより、Docker Desktop が事前インストールされたイメージを利用することができます。

これにより、より簡単に Docker Desktop を使ったコンテナ開発環境をセットアップすることができます。

https://www.docker.com/ja-jp/blog/microsoft-devbox-and-docker-desktop/

この記事では Microsoft Dev Box を使って Docker Desktop on Windows を実現する方法と注意点をご紹介していきます。

VMサイズの選択に注意

今回のセットアップに関して特に注意していただきたいのが使用する Azure VM のVMサイズです。

2つ注意点があり、1つ目は Docker Desktop を利用するためには Nested Virtualization(入れ子になった仮想化)をサポートしている VM である必要がある点です。

Azure VM には様々な VM サイズが用意されており、以下のリンクから確認することができます。

https://learn.microsoft.com/en-us/azure/virtual-machines/acu

この中でも

***Hyper-threaded and capable of running nested virtualization

に該当しているものを選択する必要があります。

2つ目にAzure VMのセキュリティオプションの1つであるトラステッド起動にNested Virtualizationの多くがサポートされていない点です。

トラステッド起動はStandardよりも、VM起動プロセスの信頼性が確保されたよりセキュアなオプションになっており、現在のAzure VM作成時のデフォルトにもなっています。

https://learn.microsoft.com/ja-jp/azure/virtual-machines/trusted-launch

しかし、トラステッド起動にNested Virtualizationの多くがサポートされていなく、唯一サポートされているものは、v5ファミリーのサイズのみになっています。

そのため、Microsoft Dev Box を使って Docker Desktop on Windows をセットアップする際にはNested Virtualizationをサポートしているv5ファミリーのサイズを選択することをおすすめします。

Dev Box を作成する

以上の点を踏まえて、実際に Microsoft Dev Box を使って Docker Desktop on Windows をセットアップしていきます。

Docker Desktop がプリインストールされた Dev Box イメージは Azure Marketplace に公開されています。

https://azuremarketplace.microsoft.com/en-us/marketplace/apps/dockerinc1694120899427.devbox_azuremachine


Azure Marketplace

Azure Marketplace から仮想マシンの作成画面に進んでいきます。

先述の通り、Nested Virtualizationをサポートしているv5ファミリーのサイズを選択していきます。


VMサイズの選択

v5ファミリーのサイズ以外のNested Virtualizationをサポートしているサイズを選択したい場合には、「セキュリティの種類」を「トラステッド起動の仮想マシン」から「Standard」に変更します。


セキュリティの種類

その他の設定を終え、仮想マシンの作成が完了したら、パブリックIPアドレスを確認します。

Dev Box に接続する

Dev Box の作成に成功したら、リモートデスクトップ接続アプリ(Microsoft Remote Desktop, Windows Appなど)を使って接続します。

先ほどのパブリックIPアドレスと、設定したユーザーネーム・パスワードでログインします。


リモートデスクトップ接続アプリを使って接続

ログインが成功すると、既に Docker Desktop がインストールされていることが確認できます。

Docker Desktop を立ち上げ、利用しているサブスクリプションにログインします。


Docker Desktopのサブスクリプションにログイン

Docker Desktop のセットアップが完了すると、Docker Desktop でのコンテナの操作や、docker CLI が利用できるはずです。


Docker Desktop でのコンテナの操作・docker CLI

おわりに

この記事では Microsoft Dev Box を使って Docker Desktop on Windows を実現する方法と注意点をご紹介しました。

より簡単に Docker Desktop を使ったコンテナ開発環境を提供・管理していきたい方に参考になれば幸いです。

また、Docker Desktop のサブスクリプション(Docker Business)も Azure Marketplace上で購入することができます、こちらもぜひご活用ください。

https://azuremarketplace.microsoft.com/ja-jp/marketplace/apps/dockerinc1694120899427.docker_business_azure_mp?tab=overview

参考資料

https://occasional-it.com/2024/06/01/azure-dev-box-simplifying-developer-onboarding-with-docker-desktop/
https://qiita.com/quotto/items/dc663febb007d485525a

Discussion