Run Dynamics 365 Business Central on Docker Container

雖然已經(jīng)在本機搭建了 Dynamics 365 Business Central的運行及開發(fā)環(huán)境,為了熟悉 Docker 技術(shù)甲捏,還是決定鼓搗一下。

如果對也和我一樣對 Docker 剛剛接觸景描,可以閱讀這篇 MSDN 介紹?Windows Containers囱桨。另外這片文章10張圖帶你深入理解Docker容器和鏡像也深入淺出的解析了 Docker 命令邮旷。如果想學習更多 Docker 相關(guān)的容器知識,可以到Channel9 進階學習Docker 技術(shù)找到眾多的視頻資料蝇摸。另外如果有其他關(guān)于 Docker 的問題(即使和 NAV 無關(guān)),也可以到Docker MSDN論壇尋求幫助办陷。

1. 安裝 Docker貌夕。

Docker 可以安裝在Windows 10 或者 Windows 2016/2019(服務器),我分別按照MSDN做了嘗試民镜。(1)Windows 10 Pro (1903)- Mac 上的虛擬機啡专。在 Docker Hub 下載安裝包Docker Desktop,直接安裝制圈。Docker Desktop 提供界面化操作们童,期間遇到 Docker 一直無法啟動的問題,經(jīng)排查發(fā)現(xiàn)是 Hyper-V 的服務沒有正常啟動鲸鹦,在 Service 中對相應的服務啟動后慧库,問題排除。此外馋嗜,Docker Desktop 默認是運行 Linux 的 Container齐板,需要切換為 Windows Container 才能開始后續(xù)的操作(右鍵點擊托盤中的小鯨魚圖標,切換即可)葛菇。

(2)Windows 2019 - Azure 上的虛擬機甘磨。具體操作見前文如何創(chuàng)建 Azure 虛擬機。RDP 進入 Windows 2019眯停,管理員權(quán)限運行 PowerShell ISE济舆,并分別執(zhí)行以下命令即可完成 Docker 安裝。

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

Install-Package -Name docker -ProviderName DockerMsftProvider

Restart-Computer -Force

2. 安裝 NAV 容器

本地部署的 Business Central 的 Image 文件可以從 Docker Hub 上取得莺债。?https://hub.docker.com/_/microsoft-businesscentral-onprem?

關(guān)于 Container 的 Image 和 Tag 說明可以參見技術(shù)大牛的博客:

https://freddysblog.com/2019/07/14/nav-and-business-central-docker-images-moved-to-microsoft-container-registry/

3. 安裝NavContainerHelper

NavContainerHelper是 一個PowerShell開源模塊滋觉,可以直接從 PowerShell Gallery 下載。使用該模塊可以簡單的對 NAV Container 進行操作九府。

(1)管理員權(quán)限運行 PowerShell ISE

(2)執(zhí)行命令?Set-ExecutionPolicy -ExecutionPolicy?Unrestricted

該步驟Windows 2019 不需要椎瘟,Windows 10 下需要執(zhí)行,否則下面的 NAVContainerHelper 模塊下載后不能正常導入及使用侄旬。

(3)執(zhí)行命令?install-module navcontainerhelper -force 已下載并導入模塊

(4)執(zhí)行命令?Write-NavContainerHelperWelcomeText?來按功能類別對命令分組展示

(5)執(zhí)行命令如下命令創(chuàng)建 Business Central 的容器肺蔚。注意?-accept_eula 是必須參數(shù),否則容器創(chuàng)建過程會失敗儡羔,這個是接受微軟 End User License Acceptance的參數(shù)宣羊。改命令會找到最合適當前系統(tǒng)環(huán)境的 Image 創(chuàng)建容器璧诵。

New-NavContainer -accept_eula -auth NavUserPassword -containerName myBC -imageName mcr.microsoft.com/businesscentral/onprem

New-NavContainer命令是在 Docker 命令 Run 的基礎(chǔ)上自動添加了很多參數(shù):

docker run --name myBC `

? ? ? ? ? --hostname myBC `

? ? ? ? ? --env auth=NavUserPassword `

? ? ? ? ? --env username="dawnangel" `

? ? ? ? ? --env ExitOnError=N `

? ? ? ? ? --env locale=en-US `

? ? ? ? ? --env licenseFile="" `

? ? ? ? ? --env databaseServer="" `

? ? ? ? ? --env databaseInstance="" `

? ? ? ? ? --volume "C:\ProgramData\NavContainerHelper:C:\ProgramData\NavContainerHelper" `

? ? ? ? ? --volume "C:\ProgramData\NavContainerHelper\Extensions\test\my:C:\Run\my" `

? ? ? ? ? --restart unless-stopped `

? ? ? ? ? --env useSSL=N `

? ? ? ? ? --env securePassword=<encryptedpasword> `

? ? ? ? ? --env passwordKeyFile="c:\run\my\aes.key" `

? ? ? ? ? --env removePasswordKeyFile=Y `

? ? ? ? ? --env accept_eula=Y `

? ? ? ? ? --detach `

? ? ? ? ? microsoft/businesscentral/onprem

然后就是等待從 Docker Hub 下載鏡像文件,Azure 上的 Windows2019 很快就安裝成功了仇冯。本機的 Windows10 需要經(jīng)過漫長的等待......

自動啟動 Container之宿,Business Central 相關(guān)的參數(shù)會顯示在 PowerShell的界面中

安裝成功后,可能需要在 DNS或者 Hosting 文件中增加 Container 的 IP 和 Hosting Name 的映射關(guān)系苛坚,否則可能無法直接從 Web Client 以及 Dev. Server訪問比被。

維護IP 和主機名映射關(guān)系

此時雙擊桌面 Web Client 圖標,可以成功打開 Business Central 的網(wǎng)頁客戶端泼舱。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

后記:

由于我的生產(chǎn)力電腦是 Mac等缀,所以也對 Docker 以及 Business Central 在 Mac 上的運行進行了相關(guān)驗證。得出如下結(jié)論:

1. Docker 是可以運行在 Mac OSX 上的娇昙,可是由于 Business Central 的 Image 只能運行在 Windows 系統(tǒng)上尺迂,所以還不能在 Mac 上通過 Docker 完成 Business Central 的相關(guān)開發(fā)及應用。希望微軟后續(xù)提供支持 Mac 的Image冒掌。

2. 雖然 Mac 上無法本地安裝 Business Central(直接安裝或者 Docker 容器)噪裕,但是仍然可以在 Mac上直接安裝 Visual Studio Code 來完成相關(guān)的 Business Central 的開發(fā)(通過 CloudSandbox 以及直接連接服務器的方式),這是因為 Mac 和 Windows 上安裝的 Visual Studio Code 都是連接相同的 Marketplace股毫,所以都可以下載安裝 AL Language ?Extension 來完成 Business Central 的 AL 開發(fā)膳音。具體操作可以參見這篇 Blog:How to develop Microsoft Dynamics Business Central App from MacOS

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铃诬,隨后出現(xiàn)的幾起案子严蓖,更是在濱河造成了極大的恐慌,老刑警劉巖氧急,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颗胡,死亡現(xiàn)場離奇詭異,居然都是意外死亡吩坝,警方通過查閱死者的電腦和手機毒姨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钉寝,“玉大人弧呐,你說我怎么就攤上這事∏陡伲” “怎么了斤葱?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵准谚,是天一觀的道長姑子。 經(jīng)常有香客問我重慢,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任茅信,我火速辦了婚禮盾舌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蘸鲸。我一直安慰自己妖谴,他們只是感情好,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布酌摇。 她就那樣靜靜地躺著膝舅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪窑多。 梳的紋絲不亂的頭發(fā)上铸史,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音怯伊,去河邊找鬼。 笑死判沟,一個胖子當著我的面吹牛耿芹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挪哄,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼吧秕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了迹炼?” 一聲冷哼從身側(cè)響起砸彬,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斯入,沒想到半個月后砂碉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡刻两,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年增蹭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磅摹。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡滋迈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出户誓,到底是詐尸還是另有隱情饼灿,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布帝美,位于F島的核電站碍彭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜硕旗,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一窗骑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漆枚,春花似錦创译、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至残制,卻和暖如春立砸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背初茶。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工颗祝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恼布。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓螺戳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親折汞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344