前のブログでDynamics 365 Business Central On-Premises環境とSaaS環境について紹介しましたが、構築可能なBusiness Central環境の最後として、開発者向けのDocker環境について今回解説しようと思います。 このブログはDockerの解説ではないので、申し訳ございませんがDockerについて簡単に説明いたします。 Docker はアプリケーションをすばやく構築、テスト、デプロイできるソフトウェアプラットフォームです。いわゆるコンテナ型の仮想アプリケーション実行環境です。 Dockerは他の仮想化ソフトウェアとの違いは下記にご参照ください。
それでは、なぜBusiness Centralの開発でDocker環境を使用する必要があるのでしょうか。 下記のBusiness Central のリポジトリについての説明をご覧ください。 パートナーに対してNext Minor VersionとNext Major Versionは極めて重要です。(パートナー認証有) ビルドバージョン番号一旦無視して、例えば今リリースされたバージョンは16.3です。それに対してNext Minor Versionは16.4で、Next Major Versionは17.0です。この二つのバージョン随時更新されています。(ほぼ毎日)
リポジトリの説明は下記にご参照ください。
https://hub.docker.com/_/microsoft-businesscentral-sandbox
ここでMicrosoftのAppSourceについて追記しておきたいと思います。 https://appsource.microsoft.com/ja-jp/
AppSourceはMicrosoftの商業マーケットプレースの一つで、MicrosoftのApp Storeとしてご理解していただければ良いでしょう。 このストアではDynamics 365 Business Centralのアプリもたくさん公開されています。 公開元はMicrosoftとグローバル中のパートナーです。 公開中のアプリに対して、現在リリース済みのバージョンだけではなく、次リリースのバージョンでも問題なくインストールできることを保証しなければなりません。Microsoftもパートナーにそう要求しています。その結果、DockerのNext Minor VersionとNext Major VersionはAppSource担当しているパートナーには必須となります。
それではお待たせしました。DockerのBusiness Central環境を構築しましょう。
Dockerのインストール
まずDockerをダウンロードします。 下記のページを開いて、「Get Docker Desktop for windows(stable)」をクリックします。 ダウンロード終わるまでは、しばらくお待ちください。 https://hub.docker.com/editions/community/docker-ce-desktop-windows
「Docker Desktop Installer.exe」を実行します。
「Enable Hyper-V Windows Features」は必須なので、チェックしてください。 次は「Ok」をクリックします。
インストール中….
インストール完了。 PCの再起動することをお勧めします。
Dockerを起動します。
右下のアイコンをクリックすると、ステータスを確認することができます。
起動した後で「Switch to Windows containers…」をクリックします。ディフォルトはLinux向け。
「Switch」をクリックします。
スウィッチ中….
完了
「Windows PowerShell ISE」を管理者として実行します。
検証するためにコマンド「Docker Info」を実行してみます。 インフォメーションが表示されましたら、Dockerのインストールは完了しました。
Business Central Docker版の構築
まずWindows PowerShell ISEでBcContainerHelperをインストールします。すでに旧バージョンのBcContainerHelperがインストールされた場合、コマンドの最後に「-Force」を追加する必要があります。
例:Install-Module BcContainerHelper -Force
「はい」をクリックします。
実行中….
実行中….
終了。
インストール完了の検証 下記のコマンドを実行します。
Write-BCContainerHelperWelcomeText
正常に実行できればBcContainerHelperが問題なくインストールできました。
※注意:
場合によって、PCのセキュリティー設定の問題でExecutionPolicyを更新する必要があります。 https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-6
CurrentUserのスコープをByPassに設定したら、実行できるはずです。
・Get-ExecutionPolicy -List
・Set-ExecutionPolicy -ExecutionPolicy ByPass -Scope CurrentUser
・「すべて続行」
・終了
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が修正可能です。
artifactUrlについては:下記のブログをご参考になれば幸いです。
「-auth」はUserPasswordに設定されているから、BCログインのユーザー名とパスワードを入力します。
構築開始
すごく時間かかりますので、しばらくお待ちください。
コンテナの作成が成功しました。
デスクトップでアイコンを確認できます。(ライセンスやバージョンなどによってアイコンの数が違います。)
Web Clientを実行します。
Sign In
ログイン成功。ここまではDynamics 365 Business Central Docker環境の構築が終わりました。
Windows PowerShell ISEを戻して、docker psを実行すると、現在起動中のコンテナを一覧表示できます。
コンテナを利用しない時に必ずdocker stop + Container ID(最初の数文字だけ指定することができる)を実行してください。
docker stop b0c956
追記:
最初からDockerとBcContainerHelperを整えることができれば、次の3つのステップを覚えておけば大丈夫です。
1.スクリプト実行
2.コンテナ作成
3.デスクトップショートカット作成
Dockerの基本コマンド
以上
コメント