This blog post is not really a troubleshooting guide (although there is a small TSG at the end). It is more like a brain dump of what I have seen over time and how I would approach a trouble shooting session. I have divided it into 6 sections:
- Dockers worst enemy (just FYI)
- Installing Docker
- Installing BcContainerHelper
- Creating a Business Central container
- Keep the script, not the Container
- Frequently seen docker errors
Going forward, I will add a link to this blog post to all issues on https://www.github.com/microsoft/navcontainerhelper/issues, where the answer to the issue is in this blog post.
The one thing most people have complained about in NavContainerHelper is that you cannot decide where it places it’s temporary files. With the shift to artifacts that got even worse because also artifacts was now placed on the c: drive.
With the shift to BcContainerHelper – this is now possible.
Many years ago, I heard a joke:
3 people (a biologist, a mathematician and a developer) were in Africa on a Safari. They drive by a blue elephant. The biologist shouts out: “Look, there is a BLUE elephant.”. The mathematician states: “Right you are, there is ONE blue elephant”. The developer slaps his palm against his forehead and says: “Damn, there are blue elephants…“
Before you read anything, please understand that NavContainerHelper is still available in the PowerShell gallery and it will still be available for the foreseeable future. Existing pipelines using NavContainerHelper can continue running – no problem just yet.
Business Central and NAV July 2020 on-premises updates was published over the weekend and this is going to be the last on-premises version of Business Central and NAV released as a docker image. The existing docker images will stay on mcr.microsoft.com for some time still, but no new on premises images will be added.
I have been wanting to create a repository of scripts, where you could locate the right script for your usage. The problem I ran into was however that the number of scripts in a repository like that would very quickly explode. Yesterday evening while riding my bike, I got an idea…
Why not create a script generator script for Business Central on Docker. A script, which asks you a lot of questions and then generates a script, which you can save and run.
I know a lot of partners and customers are using the Business Central ARM templates to create an Azure VM, which runs a specific version of Business Central (or NAV). This blog post describes what changed.
The change to running Business Central in docker using artifacts also opens a new opportunity of running Business Central using a custom generic image.
Quite a few partners have build their CI/CD pipelines based on the HelloWorld CI/CD sample repository here: https://dev.azure.com/businesscentralapps/HelloWorld (the one used in the Hands On Lab – http://aka.ms/cicdhol).
Only a few days have gone since releasing information about how to run Business Central in docker using artifacts and already a lot of people have tried this out and a lot of people are looking into changing their CI/CD pipelines to use artifacts.