前のブログでDynamics 365 Business Central On-Premises環境とSaaS環境について紹介しましたが、構築可能なBusiness Central環境の最後として、開発者向けのDocker環境について今回解説しようと思います。 このブログはDockerの解説ではないので、申し訳ございませんがDockerについて簡単に説明いたします。 Docker はアプリケーションをすばやく構築、テスト、デプロイできるソフトウェアプラットフォームです。いわゆるコンテナ型の仮想アプリケーション実行環境です。 Dockerは他の仮想化ソフトウェアとの違いは下記にご参照ください。
![](https://yzhums.com/wp-content/uploads/2020/08/01-2-1024x692.png)
それでは、なぜBusiness Centralの開発でDocker環境を使用する必要があるのでしょうか。 下記のBusiness Central のリポジトリについての説明をご覧ください。 パートナーに対してNext Minor VersionとNext Major Versionは極めて重要です。(パートナー認証有) ビルドバージョン番号一旦無視して、例えば今リリースされたバージョンは16.3です。それに対してNext Minor Versionは16.4で、Next Major Versionは17.0です。この二つのバージョン随時更新されています。(ほぼ毎日)
![](https://yzhums.com/wp-content/uploads/2020/08/02-2-1024x281.png)
リポジトリの説明は下記にご参照ください。
https://hub.docker.com/_/microsoft-businesscentral-sandbox
ここでMicrosoftのAppSourceについて追記しておきたいと思います。 https://appsource.microsoft.com/ja-jp/
![](https://yzhums.com/wp-content/uploads/2020/08/03-2-1024x450.png)
AppSourceはMicrosoftの商業マーケットプレースの一つで、MicrosoftのApp Storeとしてご理解していただければ良いでしょう。 このストアではDynamics 365 Business Centralのアプリもたくさん公開されています。 公開元はMicrosoftとグローバル中のパートナーです。 公開中のアプリに対して、現在リリース済みのバージョンだけではなく、次リリースのバージョンでも問題なくインストールできることを保証しなければなりません。Microsoftもパートナーにそう要求しています。その結果、DockerのNext Minor VersionとNext Major VersionはAppSource担当しているパートナーには必須となります。
![](https://yzhums.com/wp-content/uploads/2020/08/04-2-1024x519.png)
それではお待たせしました。DockerのBusiness Central環境を構築しましょう。
Dockerのインストール
まずDockerをダウンロードします。 下記のページを開いて、「Get Docker Desktop for windows(stable)」をクリックします。 ダウンロード終わるまでは、しばらくお待ちください。 https://hub.docker.com/editions/community/docker-ce-desktop-windows
![](https://yzhums.com/wp-content/uploads/2020/08/05-2-1024x520.png)
「Docker Desktop Installer.exe」を実行します。
![](https://yzhums.com/wp-content/uploads/2020/08/06-2.png)
「Enable Hyper-V Windows Features」は必須なので、チェックしてください。 次は「Ok」をクリックします。
![](https://yzhums.com/wp-content/uploads/2020/08/07-2.png)
インストール中….
![](https://yzhums.com/wp-content/uploads/2020/08/08-2.png)
インストール完了。 PCの再起動することをお勧めします。
![](https://yzhums.com/wp-content/uploads/2020/08/09-2.png)
Dockerを起動します。
![](https://yzhums.com/wp-content/uploads/2020/08/10-2.png)
右下のアイコンをクリックすると、ステータスを確認することができます。
![](https://yzhums.com/wp-content/uploads/2020/08/11-1.png)
![](https://yzhums.com/wp-content/uploads/2020/08/12-1.png)
![](https://yzhums.com/wp-content/uploads/2020/08/13-2.png)
起動した後で「Switch to Windows containers…」をクリックします。ディフォルトはLinux向け。
![](https://yzhums.com/wp-content/uploads/2020/08/14-2.png)
「Switch」をクリックします。
![](https://yzhums.com/wp-content/uploads/2020/08/15-2.png)
スウィッチ中….
![](https://yzhums.com/wp-content/uploads/2020/08/16-2.png)
完了
![](https://yzhums.com/wp-content/uploads/2020/08/17-2.png)
「Windows PowerShell ISE」を管理者として実行します。
![](https://yzhums.com/wp-content/uploads/2020/08/18-2.png)
検証するためにコマンド「Docker Info」を実行してみます。 インフォメーションが表示されましたら、Dockerのインストールは完了しました。
![](https://yzhums.com/wp-content/uploads/2020/08/19-2.png)
Business Central Docker版の構築
まずWindows PowerShell ISEでBcContainerHelperをインストールします。すでに旧バージョンのBcContainerHelperがインストールされた場合、コマンドの最後に「-Force」を追加する必要があります。
例:Install-Module BcContainerHelper -Force
![](https://yzhums.com/wp-content/uploads/2020/08/20-2.png)
「はい」をクリックします。
![](https://yzhums.com/wp-content/uploads/2020/08/21-2-1024x84.png)
実行中….
![](https://yzhums.com/wp-content/uploads/2020/08/22-2.png)
実行中….
![](https://yzhums.com/wp-content/uploads/2020/08/23-2.png)
終了。
![](https://yzhums.com/wp-content/uploads/2020/08/24-2.png)
インストール完了の検証 下記のコマンドを実行します。
Write-BCContainerHelperWelcomeText
![](https://yzhums.com/wp-content/uploads/2020/08/25-2.png)
正常に実行できればBcContainerHelperが問題なくインストールできました。
![](https://yzhums.com/wp-content/uploads/2020/08/26-2.png)
※注意:
場合によって、PCのセキュリティー設定の問題でExecutionPolicyを更新する必要があります。 https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-6
CurrentUserのスコープをByPassに設定したら、実行できるはずです。
・Get-ExecutionPolicy -List
![](https://yzhums.com/wp-content/uploads/2020/08/27-2.png)
・Set-ExecutionPolicy -ExecutionPolicy ByPass -Scope CurrentUser
![](https://yzhums.com/wp-content/uploads/2020/08/28-2.png)
・「すべて続行」
![](https://yzhums.com/wp-content/uploads/2020/08/29-2-1024x83.png)
・終了
![](https://yzhums.com/wp-content/uploads/2020/08/30-2.png)
Business Centralのイメージダウンロード及びコンテンツ作成: 例として現在Region JPでリリースされている17.1バージョンを構築してみます。
構築コマンド: 2020/12/04 更新
Remove-NavContainer test
Measure-Command {
$artifactUrl = Get-BCArtifactUrl -version 17.1 -select Latest -country jp
if ($credential -eq $null -or $credential -eq [System.Management.Automation.PSCredential]::Empty) {
$credential = get-credential -UserName $env:USERNAME `
-Message "Please enter your Windows credentials."
}
New-NavContainer `
-accept_eula `
-containerName test`
-artifactUrl $artifactUrl `
-Credential $credential `
-auth UserPassword `
-updateHosts `
-imagename myown
}
containerName と imagenameが修正可能です。
![](https://yzhums.com/wp-content/uploads/2020/12/image-46.png)
artifactUrlについては:下記のブログをご参考になれば幸いです。
「-auth」はUserPasswordに設定されているから、BCログインのユーザー名とパスワードを入力します。
![](https://yzhums.com/wp-content/uploads/2020/08/32-2.png)
構築開始
![](https://yzhums.com/wp-content/uploads/2020/08/33-2.png)
すごく時間かかりますので、しばらくお待ちください。
![](https://yzhums.com/wp-content/uploads/2020/08/34-2.png)
コンテナの作成が成功しました。
![](https://yzhums.com/wp-content/uploads/2020/08/35-2.png)
デスクトップでアイコンを確認できます。(ライセンスやバージョンなどによってアイコンの数が違います。)
![](https://yzhums.com/wp-content/uploads/2020/08/36-1.png)
Web Clientを実行します。
![](https://yzhums.com/wp-content/uploads/2020/08/37-1-1024x350.png)
Sign In
![](https://yzhums.com/wp-content/uploads/2020/08/38-1.png)
ログイン成功。ここまではDynamics 365 Business Central Docker環境の構築が終わりました。
![](https://yzhums.com/wp-content/uploads/2020/08/39-1-1024x521.png)
Windows PowerShell ISEを戻して、docker psを実行すると、現在起動中のコンテナを一覧表示できます。
![](https://yzhums.com/wp-content/uploads/2020/08/40-1.png)
コンテナを利用しない時に必ずdocker stop + Container ID(最初の数文字だけ指定することができる)を実行してください。
docker stop b0c956
![](https://yzhums.com/wp-content/uploads/2020/08/41.png)
追記:
最初からDockerとBcContainerHelperを整えることができれば、次の3つのステップを覚えておけば大丈夫です。
1.スクリプト実行
2.コンテナ作成
3.デスクトップショートカット作成
![](https://yzhums.com/wp-content/uploads/2020/08/42-1024x693.png)
Dockerの基本コマンド
![](https://yzhums.com/wp-content/uploads/2020/12/New43-1024x702.png)
以上
コメント