BC Docker Manager

A lightweight, all-in-one control center for Business Central Docker development inside VS Code.
Browse artifacts, create containers, manage your environment, and develop AL apps - without BcContainerHelper or Docker Desktop.
Note: You must run VS Code as an Administrator for BC Docker Manager to work properly, as it requires elevated permissions for certain operations (e.g., networking, hosts file, Docker Engine setup).

Features at a Glance
|
Feature |
What it does |
|
Artifacts Explorer |
Browse & create containers from the Microsoft CDN |
|
Container Management |
Full lifecycle: start, stop, restart, remove, export, import |
|
Environment Setup |
One-click wizard for Hyper-V, Windows Containers & Docker Engine |
|
AL Development |
Generate launch.json, compile apps, publish to containers |
|
Networking & SSL |
Auto-configure hosts file and install self-signed certificates |
|
User Management |
Create BC users and test users inside containers |
|
Database Operations |
Backup and restore databases with a single click |
|
Monitoring |
Live container stats, logs, and event log viewer |
|
Profiles & Bulk Ops |
Save/load container configs, bulk start/stop/remove |
BC Artifacts Explorer
Browse every Business Central artifact on the Microsoft CDN directly from VS Code. Switch between Sandbox and OnPrem tabs, filter by country and major version, then create a container in three clicks.

- Tabbed browsing - Sandbox / OnPrem
- Filter by country, major version, or free-text search
- Sortable columns - click any header (version, country, date)
- Infinite scroll - pagination loads automatically as you scroll
- One-click actions - Copy Version, Copy URL, or Create Container
- Smart caching - stale-while-revalidate keeps data fresh without lag
Container Creation Wizard
When you click Create Container on an artifact, a guided 3-step flow walks you through:
- Container name (defaults to
bc<major><country>, e.g. bc25us)
- Username (default:
admin)
- Password
- EULA acceptance
The extension then pulls the image, runs docker run, waits for the health check, and automatically configures networking, all with real-time progress in the output channel.

Container Management
Everything you need to manage your BC containers lives in the sidebar. Running containers get a green icon, stopped ones get gray.

Lifecycle
| Action |
How |
| Start |
Click > on a stopped container |
| Stop |
Click X on a running container |
| Restart |
Click restart or right-click > Restart |
| Remove |
Click trash or right-click > Remove |
| Export |
Right-click > Export Container (saves as .tar) |
| Import |
Toolbar > Import Container (loads a .tar) |
Quick Access
- Open Web Client - launches
https://<container>/BC/ in your browser (auto-configures hosts + SSL first)
- Open Terminal - interactive PowerShell session inside the container
- View Logs - streams
docker logs in real time
- Copy IP - copies the container's IP address to your clipboard
- Show Stats - live CPU, memory, network, and disk I/O (refreshes every 5 seconds)
Right-click any container for the full action menu:

Environment Setup
The Environment panel checks your system health and tells you exactly what's missing. Click Setup Everything to fix it all in one go.

Health checks (polled every 15 seconds):
| Check |
What it verifies |
| Windows Features |
Hyper-V & Windows Containers are enabled |
| Docker Engine |
Docker is installed and the daemon is running |
One-click fixes:
- Enable Hyper-V & Windows Containers - runs
Enable-WindowsOptionalFeature (requires reboot)
- Install Docker Engine - downloads the standalone engine from
download.docker.com (no Docker Desktop needed)
- Start Docker Engine - starts the Docker Windows service if it's stopped
AL Development
launch.json Generation
Connect the AL Language extension to your container instantly:
| Command |
What it does |
| Generate AL Launch Configuration |
Writes .vscode/launch.json to your workspace |
| Preview launch.json in New Tab |
Opens the config in a read-only editor tab |
| Copy launch.json to Clipboard |
Copies the JSON for manual pasting |
Compile AL App
Compile your AL project inside the container using alc.exe - no local AL compiler needed:
- Right-click a container > Compile AL App in Container
- Select your workspace folder
- The compiled
output.app is copied back to your workspace root
Publish AL App
Deploy your .app file directly:
- Right-click a container > Publish AL App to Container
- Select your
.app file
- The extension handles Publish > Sync > Install automatically
Networking & SSL
BC containers use self-signed certificates and custom hostnames. This extension handles both:
| Command |
What it does |
| Setup Networking |
Updates hosts file + installs SSL cert in one step |
| Update Hosts File |
Maps container hostname > IP in C:\Windows\System32\drivers\etc\hosts |
| Install SSL Certificate |
Extracts the container's cert and adds it to Windows Trusted Root |
Tip: When you click Open Web Client, networking is configured automatically if it hasn't been already.
User Management
| Command |
What it does |
| Add BC User |
Create a user with a custom name, password, and permission set |
| Add Test Users |
Creates 3 standard test users in one click |
Test users created:
| User |
Permission Set |
Password |
| ESSENTIAL |
SUPER |
P@ssw0rd |
| PREMIUM |
SUPER |
P@ssw0rd |
| TEAMMEMBER |
D365 TEAM MEMBER |
P@ssw0rd |
Database Operations
| Command |
What it does |
| Backup Database |
Creates a compressed .bak file via SQL Server |
| Restore Database |
Restores from backup (stops > restores > restarts the service tier) |
Monitoring
| Command |
What it does |
| Show Container Stats |
Live CPU, memory, network I/O, and block I/O (refreshes every 5 s) |
| View Container Logs |
Streams docker logs --follow in a terminal |
| View Event Log |
Retrieves Windows Event Log entries (MicrosoftDynamicsNavServer, MSSQL) |
| Edit NST Settings |
View and edit NavServerTier configuration with optional service restart |
Container Profiles & Bulk Operations
Profiles
Save your container configuration (memory, isolation, auth, DNS, country, license path) and reapply it later:
| Command |
What it does |
| Save Container Profile |
Saves current config to global storage |
| Load Container Profile |
Creates a new container from a saved profile |
| Delete Container Profile |
Removes a saved profile |
Bulk Operations
| Command |
What it does |
| Start All Stopped Containers |
Starts every stopped container in parallel |
| Stop All Running Containers |
Stops every running container in parallel |
| Remove All Stopped Containers |
Removes every stopped container in parallel |
Images & Volumes
Local Images

- View all local Docker images (toggle BC Filter to show only Business Central images)
- Pre-Pull BC Image - download
mcr.microsoft.com/businesscentral:ltsc2022 ahead of time
- Remove Image - clean up unused images
Volumes
- Create Volume -
docker volume create with a custom name
- Inspect Volume - view driver and mountpoint details
- Remove Volume - delete unused volumes
Getting Started
Prerequisites
| Requirement |
Notes |
| Windows 10/11 or Windows Server 2019+ |
Required for Windows Containers |
| Hyper-V |
The extension can enable this for you |
| Docker Engine |
Standalone Windows service (Docker Desktop is optional) |
Quick Start
- Install the extension from the VS Code Marketplace
- Open the BC Docker Manager sidebar (look for the icon in the activity bar)
- Check the Environment panel - click Setup Everything if anything is red
- Browse the BC Artifacts Explorer - pick a version, country, and click Create Container
- Right-click your new container for actions: web client, terminal, launch.json, and more
Commands
All commands are available from the Command Palette (Ctrl+Shift+P) under the BC Docker Manager prefix.

Full command reference (click to expand)
Environment & Setup
| Command |
Description |
| Refresh |
Refresh all containers, images, and volumes |
| Setup Everything |
One-click environment setup (Hyper-V + Docker) |
| Enable Hyper-V & Windows Containers |
Enable required Windows features |
| Install Docker Engine |
Download and install the standalone engine |
| Start Docker Engine |
Start the Docker Windows service |
Artifacts
| Command |
Description |
| Open BC Artifacts Explorer |
Browse BC artifacts from the Microsoft CDN |
| Test BC Artifacts CDN Connection |
Verify CDN reachability |
Container Lifecycle
| Command |
Description |
| Start Container |
Start a stopped container |
| Stop Container |
Stop a running container |
| Restart Container |
Restart a running container |
| Remove Container |
Delete a container |
| Export Container |
Save container as a .tar image |
| Import Container |
Load a .tar image file |
| Start All Stopped Containers |
Bulk start |
| Stop All Running Containers |
Bulk stop |
| Remove All Stopped Containers |
Bulk remove |
| Toggle BC Filter |
Show all or only BC containers and images |
Connection & Networking
| Command |
Description |
| Open Web Client |
Open Business Central in your browser |
| Open Container Terminal |
PowerShell session inside the container |
| View Container Logs |
Stream logs in real time |
| Copy Container IP |
Copy the container's IP address |
| Setup Networking |
Update hosts file + install SSL certificate |
| Update Hosts File |
Map container hostname to its IP |
| Install SSL Certificate |
Trust the container's self-signed certificate |
AL Development
| Command |
Description |
| Generate AL Launch Configuration |
Write .vscode/launch.json |
| Preview launch.json in New Tab |
Open config for review |
| Copy launch.json to Clipboard |
Copy config JSON |
| Compile AL App in Container |
Compile using alc.exe inside the container |
| Publish AL App to Container |
Publish > Sync > Install a .app file |
BC Operations
| Command |
Description |
| Upload License File |
Import a .flf or .bclicense file |
| Add BC User |
Create a user with custom permissions |
| Add Test Users |
Create 3 standard test users |
| Backup Database |
Create a compressed .bak backup |
| Restore Database |
Restore from a .bak file |
| Install Test Toolkit |
Install test framework or full test toolkit |
| Edit NST Settings |
View/edit NavServerTier configuration |
| View Event Log |
Retrieve recent event log entries |
| Show Container Stats |
Live resource monitoring |
Container Profiles
| Command |
Description |
| Save Container Profile |
Save container configuration |
| Load Container Profile |
Create container from saved profile |
| Delete Container Profile |
Remove a saved profile |
Volumes
| Command |
Description |
| Create Volume |
Create a new Docker volume |
| Remove Volume |
Delete a Docker volume |
| Inspect Volume |
View volume details |
Images
| Command |
Description |
| Remove Image |
Delete a local Docker image |
| Pre-Pull BC Image |
Download the base BC image ahead of time |
Extension Settings
Configure defaults under Settings > Extensions > BC Docker Manager:
| Setting |
Default |
Description |
bcDockerManager.defaultMemory |
8G |
Memory limit for new containers (e.g. 4G, 8G, 16G) |
bcDockerManager.defaultIsolation |
hyperv |
Isolation mode: hyperv or process |
bcDockerManager.defaultAuth |
UserPassword |
Authentication: UserPassword, NavUserPassword, or Windows |
bcDockerManager.defaultCountry |
us |
Default country for artifact browsing (e.g. us, w1, de, fr) |
bcDockerManager.defaultDns |
8.8.8.8 |
DNS server for containers |
bcDockerManager.defaultArtifactType |
sandbox |
Default artifact tab: sandbox or onprem |
Known Issues
- Container IPs change on restart - use Update Hosts File (or Setup Networking) after restarting a container.
- Docker Engine installation requires a reboot to enable Windows Containers for the first time.
- Docker Desktop conflict - if Docker Desktop is installed, the standalone Docker Engine may conflict. The extension warns you if this is detected.
Release Notes
1.0.0
Initial release:
- BC Artifacts Explorer with CDN browsing
- Native container creation via
docker run
- Container lifecycle management (start, stop, restart, remove)
- AL launch.json generation, preview, and clipboard copy
- Environment setup wizard (Hyper-V, Windows Containers, Docker Engine)
- Hosts file and SSL certificate management
- User management and test user creation
- Database backup and restore
- Container profiles (save/load)
- Bulk operations (start all, stop all, remove all)
- Live container stats monitoring
- Volume management
- Container export/import
- AL app compilation and publishing
- Test toolkit installation
- NST settings editor
- Event log viewer
Telemetry
This extension collects anonymous error and usage telemetry using the official @vscode/extension-telemetry package to help improve reliability. No personal data is collected. Telemetry respects your VS Code setting - disable it anytime:
Settings > Telemetry: Telemetry Level > off
License
MIT
Made with care for the Business Central developer community
| |