Microsoft Dev Box を使って Docker Desktop on Windows を動かしてみる
はじめに
現在 mac での開発・検証がメインになっていますが、Windowsマシンを用いた開発・検証が必要な場面もいくつか出てきました。
Parallels Desktop などの仮想化ソフトウェアを利用したり、新たに Windows マシンを入手する方法もありますが、今回クラウドベースの開発環境である Microsoft Dev Box を利用してみることにしました。
Microsoft Dev Box 自体の詳細についてはここでは割愛させていただきますが、開発環境において以下のようなメリットを得ることができます。
- オンデマンドでの開発環境提供
- 開発環境のセットアップと管理の簡素化
- リモートワークやハイブリッドワークへの対応
- 高性能コンピューティングリソース
- セキュリティとコンプライアンスの強化
また、Docker では Microsoft Dev Box とのパートナーシップにより、Docker Desktop が事前インストールされたイメージを利用することができます。
これにより、より簡単に Docker Desktop を使ったコンテナ開発環境をセットアップすることができます。
この記事では Microsoft Dev Box を使って Docker Desktop on Windows を実現する方法と注意点をご紹介していきます。
VMサイズの選択に注意
今回のセットアップに関して特に注意していただきたいのが使用する Azure VM のVMサイズです。
2つ注意点があり、1つ目は Docker Desktop を利用するためには Nested Virtualization(入れ子になった仮想化)をサポートしている VM である必要がある点です。
Azure VM には様々な VM サイズが用意されており、以下のリンクから確認することができます。
この中でも
***Hyper-threaded and capable of running nested virtualization
に該当しているものを選択する必要があります。
2つ目にAzure VMのセキュリティオプションの1つであるトラステッド起動にNested Virtualizationの多くがサポートされていない点です。
トラステッド起動はStandardよりも、VM起動プロセスの信頼性が確保されたよりセキュアなオプションになっており、現在のAzure VM作成時のデフォルトにもなっています。
しかし、トラステッド起動に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 に公開されています。
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上で購入することができます、こちらもぜひご活用ください。
参考資料
Discussion