Microsoft Dynamics 365 の ERP の1つである Business Central について、開発およびテストのために使用できるコンテナーベースの環境を PC に作成する手順を説明します
前提として、Docker Desktop for Windows で Windows containers のサービスを起動していることが必要 1 です。 この記事の説明では Windows 10 を使用しています
Docker サービスには Linux containers と Windows containers の2種類がありますが、Business Central では Windows containers を使用します。Linux と Windows の切替えはタスクバーのアイコンメニューから行えます。現在、どちらのサービスが起動しているか、ということは PowerShell で docker version --format '{{.Server.Os}}'
を実行すると確認することができます

既定の Linux containers を使用していると WSL 2 installation is incomplete と警告が出る場合がありますが、Business Central では Linux containers を使用しないため WSL 2 (Windows Subsystem for Linux) のインストールは必要ありません

Business Central から CreateBCSandbox.ps1 をダウンロードする
Business Central にサインインして、コンテナーサンドボックス環境 のページ 2 を開きます。画面右上の虫眼鏡 のアイコンから検索してください

Host locally を選択して、CreateBCSandbox.ps1 をダウンロードします

CreateBCSandbox.ps1 を実行する
スクリプトを実行する前にテキストエディタで CreateBCSandbox.ps1 を開き、$accept_eula
を $false から $true へ、$containername
にはコンテナ名 bcserver を設定します
$accept_eula = $true
$containername = 'bcserver'
この手順を省略すると、エラー You have to accept the eula in order to create a Container.
になってしまいます

スクリプトは管理者として実行する必要があります。スクリプトをダウンロードしたフォルダを開き、Windows Explorer のメニューから Windows PowerShell を管理者として開きます

CreateBCSandbox.ps1 を実行します。実行ポリシーによっては「ファイルはデジタル署名されていません」というエラー PSSecurityException が起きるため、必要に応じて -ExecutionPolicy unrestricted
オプションを付けて実行してください
powershell.exe -ExecutionPolicy unrestricted .\CreateBCSandbox.ps1
Business Central の Docker イメージ のダウンロードから始まるため、30 分程度の時間がかかります

スクリプトの実行が完了したら Docker Desktop の画面からコンテナの起動を確認してください。コンテナの起動/停止/廃棄といった操作は Docker Desktop から行うことができます

コンテナーサンドボックス環境の動作を確認する
コンテナを正常に起動できていれば、ブラウザからコンテナーサンドボックス環境の動作を確認することができます。Web Client URL は Docker Desktop の LOGS 画面から確認できます。手順通りにコンテナ名を bcserver としている場合、Web Client URL は http://bcserver/BC/?tenant=default となっているはずです

参考
- コンテナーサンドボックス開発環境の始め方について説明されています
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-get-started-container-sandbox - Docker コマンドや BCContainerHelper モジュールについて説明されています
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-running-container-development - 仮想化技術、Docker コマンド、動作確認の方法について説明されています
https://yzhums.com/152/
-
Docker Desktop for Windows のシステム要件は docs.docker.com の説明をご確認ください ↩
-
オブジェクト ID は Page 1920 Container Sandbox Environment です ↩