It’s been a while since I last blogged about the ARM templates. Mostly because they just live a life of their own and just works. An average of 20 times a day, some partner somewhere in the work is using https://aka.ms/getbc to create an Azure VM with Business Central running in a container (or one of the other ARM templates) directly from a browser. On top of this are all the partners who are automating the process of creating Azure VMs with a PowerShell script. A few things are changing, but functionality stays the same.
Over the last few months, there has been quite a few blog posts and discussions on social media based on blogs posts from Docker, Microsoft and Mirantis indicating new pricing structure. In this blog post I will try to make the options for running Business Central on Docker clear.
The two major products used for running Business Central containers are Docker Desktopand Mirantis Container Runtime(formerly known as Docker Engine – Enterprise). Both products include Docker Engine and adds a number of additional components and features which might be relevant for you. Docker Engine can however also be installed alone and is sufficient for running BcContainerHelper and the Business Central Generic image.
This blog post will NOT just tell you how to install Docker Engine, as that might not be the right option for you. Instead, I will walk through the different options you have and you will have to decide on what is best for you.
Most people have tried it. You are writing a script, which connects to a service using a user name and a password or you are using a Shared Access Service token to access insider builds from Microsoft and you just put the “secret” values right there in your source code. After all – it is only you who can access the data on your computer right? and you will of course remember to mask out these secrets if you ever need to share the script…
Well some times we forget and some times hackers to get access to files on your computer and suddenly you might have leaked data or secrets to public places, which you shouldn’t – or sometimes we don’t even realize that we have exposed a secret.
With a total of over 300000 downloads, NavContainerHelper is no more. As of this weekend, NavContainerHelper cannot be used to create containers anymore. There has been a lot of blog posts here on my blog and others that indicated that this day would come and now it is here… – all specific images are gone and with those all the “old” generic images, which was used by NavContainerHelper.
I will contact PowerShell Gallery to get the entry removed.
RIP NavContainerHelper, Long Live BcContainerHelper.
This is not my first blog post about how to use SQL Server on the host, but it is definitely the one describing the easiest way to do it. With the latest version of BcContainerHelper you can (with one Run-BcContainer command) create a container which uses SQL Server on the host as database engine for the container.
For quite some time, it has been possible to run automated tests in Docker using the Run-TestsInBcContainer function and it is my strong belief that this is used by a lot of partners today. Since 17.2, the Test Runner is available in Online Business Central Sandbox environments for installation from AppSource. From Extension Marketplace, you can install the Test Runner, open page 130451 and run your test manually. With BcContainerHelper 2.0.4 or later, you can also run tests in online sandbox environments, this blog post explains how.
On October 27th 2017, I posted the first announcement which introduced NAV on Docker. For approx. 3 years we published Docker images first to Docker Hub and later to Microsoft Container Registry for both Windows Server 2016 and Windows Server 2019. Many 1000 images was pushed to the container registries until we during the summer of 2020 changed strategy to use artifacts together with the generic image.
The various versions of specific images on different container OS’ amounts to more than 100Tb of docker images and now is the time to cleanup…
There are 2 kinds of apps: AppSource Apps and Per Tenant Extensions (PTEs). These apps can be installed in two kinds of environments: Sandbox and Production. In Production, AppSource Apps are installed in the global scope and Per Tenant Extensions are installed in the Tenant Scope. In Sandbox environments you can also install apps to the development scope (like what VS Code does).
This blog post will describe how you can use BcContainerHelper 2.0.2 to install apps in any of those combinations.