Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

429+ Articles
114+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. HOWTOs
  3. Business Central Docker Containers: Development Environment
Business Central Docker Containers: Development Environment
HOWTOIntermediate

Business Central Docker Containers: Development Environment

Deploy Microsoft Dynamics 365 Business Central in Docker containers for development, testing, and demonstration. Covers container setup, management, and...

Security Team

Security Engineering

February 3, 2026
8 min read

Prerequisites

  • Docker Engine on Windows
  • 16GB+ RAM
  • PowerShell 5.1+
  • Internet access to Microsoft container registry

Overview

Running Microsoft Dynamics 365 Business Central in Docker containers provides rapid deployment, isolated environments, and consistent setups for development, testing, and demonstrations without affecting production systems.

Who Should Use This Guide:

  • AL extension developers needing sandbox environments
  • QA teams testing Business Central customizations
  • Consultants creating demo environments
  • DevOps engineers building CI/CD pipelines for BC

Why Docker for Business Central:

BenefitDescription
Rapid DeploymentFresh BC environment in 15-30 minutes
Cost SavingsNo Azure or on-premises licenses for dev sandboxes
IsolationEach developer can have independent environment
ReproducibilityConsistent environments from scripts
Version TestingRun multiple BC versions simultaneously

Requirements

System Requirements:

ComponentRequirement
Operating SystemWindows 10/11 Pro or Windows Server with Hyper-V
RAM16GB minimum, 32GB+ recommended
Disk Space30GB+ free (container images are large)
DockerNative Docker Engine or Docker Desktop
PowerShellVersion 5.1 or later

Prerequisites:

PrerequisitePurpose
Hyper-VWindows container isolation
Containers FeatureWindows container support
BcContainerHelperPowerShell module for BC containers
Internet AccessDownload BC artifacts and images

Architecture

┌─────────────────────────────────────────────────────────────┐
│                    Windows Host                              │
│                                                              │
│  ┌────────────────────────────────────────────────────────┐ │
│  │                   Docker Engine                         │ │
│  │                                                         │ │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐    │ │
│  │  │ bcserver-25 │  │ bcserver-26 │  │ bcserver-27 │    │ │
│  │  │  (BC 25)    │  │  (BC 26)    │  │  (BC 27)    │    │ │
│  │  │             │  │             │  │             │    │ │
│  │  │ Web Client  │  │ Web Client  │  │ Web Client  │    │ │
│  │  │ SQL Server  │  │ SQL Server  │  │ SQL Server  │    │ │
│  │  │ NST         │  │ NST         │  │ NST         │    │ │
│  │  └─────────────┘  └─────────────┘  └─────────────┘    │ │
│  │                                                         │ │
│  └────────────────────────────────────────────────────────┘ │
│                                                              │
│  ┌─────────────────────────────────────────────────────────┐│
│  │                 BC Container Manager                     ││
│  │  [Dashboard] [Create] [Backups] [Troubleshoot]          ││
│  └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

Process

Step 1: Install BcContainerHelper Module

Install the PowerShell module for managing BC containers.

Installation Command:

# Install BcContainerHelper
Install-Module BcContainerHelper -Force
 
# Import the module
Import-Module BcContainerHelper
 
# Verify installation
Get-Command -Module BcContainerHelper | Measure-Object

Expected Result: Module installed with 100+ commands available.

Update to Latest Version:

# Update to latest version
Update-Module BcContainerHelper -Force

Step 2: Create Business Central Container

Deploy a BC container with the desired version.

List Available BC Versions:

# List available BC artifacts
Get-BCArtifactUrl -type Sandbox -country us -select Latest
Get-BCArtifactUrl -type Sandbox -country us -version "25"

Create the Container:

# Define container parameters
$containerName = "bcserver-dev"
$credential = Get-Credential -Message "Enter BC Admin credentials"
 
# Get artifact URL for latest BC
$artifactUrl = Get-BCArtifactUrl -type Sandbox -country us -select Latest
 
# Create the container
New-BcContainer `
    -containerName $containerName `
    -artifactUrl $artifactUrl `
    -credential $credential `
    -accept_eula `
    -updateHosts `
    -auth NavUserPassword `
    -includeTestToolkit `
    -includeTestLibrariesOnly

Expected Timeline: 15-30 minutes for first deployment (image download).

Available Container Options:

ParameterDescription
-artifactUrlBC version to deploy
-authAuthentication mode (NavUserPassword, Windows)
-includeTestToolkitInclude test libraries for AL development
-updateHostsAdd container to hosts file
-isolationContainer isolation (hyperv, process)

Step 3: Access Business Central

Connect to the deployed Business Central instance.

Get Container Information:

# List running BC containers
docker ps --filter "name=bc"
 
# Get container URLs
Get-BcContainerUrl -containerName "bcserver-dev"

Service URLs:

ServiceURL Pattern
Web Clienthttps://<container-name>/BC/
SOAP Serviceshttps://<container-name>:7047/BC/WS/
OData Serviceshttps://<container-name>:7048/BC/ODataV4/
Dev Serviceshttps://<container-name>:7049/BC/dev/

Authentication:

  • Use credentials specified during container creation
  • For Windows auth, use domain credentials

Step 4: Manage Containers

Common container management operations.

Start, Stop, and Restart Containers:

# Stop container
Stop-BcContainer -containerName "bcserver-dev"
 
# Start container
Start-BcContainer -containerName "bcserver-dev"
 
# Restart container
Restart-BcContainer -containerName "bcserver-dev"

View Container Event Logs:

# Get container event log
Get-BcContainerEventLog -containerName "bcserver-dev"
 
# Stream Docker logs
docker logs -f "bcserver-dev"

Remove a Container:

# Remove container (preserves image)
Remove-BcContainer -containerName "bcserver-dev"

Step 5: Backup and Restore

Protect your development work with backups.

Create Database Backup:

# Backup container database
Backup-BcContainerDatabases -containerName "bcserver-dev" -bakFolder "C:\BCBackups"

Restore from Backup:

# Restore from backup
Restore-BcContainerDatabases -containerName "bcserver-dev" -bakFile "C:\BCBackups\bcserver-dev.bak"

Automated Daily Backup Script:

# Schedule daily backup
$containerName = "bcserver-dev"
$backupPath = "C:\BCBackups"
$date = Get-Date -Format "yyyyMMdd"
 
Backup-BcContainerDatabases `
    -containerName $containerName `
    -bakFolder $backupPath
 
# Rename with date
Get-ChildItem "$backupPath\*.bak" | ForEach-Object {
    $newName = $_.BaseName + "-$date" + $_.Extension
    Rename-Item $_.FullName -NewName $newName
}
 
# Keep only last 7 backups
Get-ChildItem "$backupPath\*.bak" |
    Sort-Object LastWriteTime -Descending |
    Select-Object -Skip 7 |
    Remove-Item -Force

Step 6: Deploy AL Extensions

Install custom extensions into the container.

Publish an Extension File:

# Publish .app file
Publish-BcContainerApp `
    -containerName "bcserver-dev" `
    -appFile "C:\Projects\MyExtension\output\MyExtension.app" `
    -skipVerification `
    -sync `
    -install

Compile from AL Source and Publish:

# Compile AL project
Compile-AppInBcContainer `
    -containerName "bcserver-dev" `
    -appProjectFolder "C:\Projects\MyExtension" `
    -appOutputFolder "C:\Projects\MyExtension\output"
 
# Then publish as above


BC Container Manager Application

For a graphical interface to manage BC containers, consider the BC Container Manager desktop application.

Features:

FeatureDescription
DashboardView all BC containers at a glance
One-Click DeploymentCreate containers with version selection
Backup ManagementCreate and restore container backups
Log ViewerReal-time container log streaming
AI TroubleshootingClaude-powered issue diagnosis

Quick Start:

  1. Download from GitHub releases
  2. Run installer or portable executable
  3. Configure settings (backup path, optional AI key)
  4. Click "New Container" to deploy BC

Application Capabilities:

The BC Container Manager is an Electron + Next.js desktop application that provides:

  • Container lifecycle management (start, stop, restart, remove)
  • Version selection (BC 13-27, Latest, Preview)
  • Automated backup scheduling
  • Real-time log viewing
  • AI-powered troubleshooting assistance


Troubleshooting

Common Issues:

SymptomPossible CauseSolution
Container won't startHyper-V not enabledEnable Hyper-V and Containers features
Port conflictsAnother container using portsStop conflicting containers or use different ports
Out of memoryInsufficient RAMClose other applications, increase VM memory
Image pull failsNetwork/registry issueCheck internet connectivity, retry
Web client 404Container not fully startedWait for container to complete initialization

Diagnostic Commands:

# Check container status
docker ps -a --filter "name=bc"
 
# Check container health
docker inspect bcserver-dev --format='{{.State.Health.Status}}'
 
# View container logs
docker logs bcserver-dev --tail 100
 
# Check Docker service
Get-Service docker
 
# List BC containers with details
Get-BcContainers | Format-Table Name, Image, State

Common HNS Errors (Windows 11):

If you encounter HNS (Host Network Service) errors like 0x803b0013:

# Stop Docker and HNS services
Stop-Service docker
Stop-Service hns
 
# Clean up orphaned endpoints
Get-HnsEndpoint | Where-Object { $_.State -eq "Orphaned" } | Remove-HnsEndpoint
 
# Restart services
Start-Service hns
Start-Service docker

Verification Checklist

Pre-Deployment:

  • Docker Engine installed and running
  • Hyper-V and Containers features enabled
  • BcContainerHelper module installed
  • Sufficient RAM and disk space

Post-Deployment:

  • Container shows as running
  • Web Client accessible
  • Login with credentials succeeds
  • Container added to hosts file

Development Ready:

  • Test toolkit installed (if needed)
  • AL extension development services available
  • Backup strategy configured
  • VS Code connected to container


Multiple Version Management

Run multiple BC versions simultaneously for testing.

Version-Based Port Allocation:

BC VersionWeb Client PortServices Port
BC 2580257047-7049
BC 2680267147-7149
BC 2780277247-7249

Create Multiple Version Containers:

# BC 25 (LTS)
New-BcContainer -containerName "bcserver-bc25" `
    -artifactUrl (Get-BcArtifactUrl -version "25" -type Sandbox -country us) `
    -credential $credential -accept_eula
 
# BC 27 (Current)
New-BcContainer -containerName "bcserver-bc27" `
    -artifactUrl (Get-BcArtifactUrl -version "27" -type Sandbox -country us) `
    -credential $credential -accept_eula

References

  • BcContainerHelper Documentation
  • Microsoft BC Docker Documentation
  • BC Artifacts

Last Updated: February 2026

#Business Central#Docker#Dynamics 365#Development#ERP#Windows Containers

Related Articles

Multi-Stack Docker Infrastructure with Traefik and

Deploy a production-grade Docker infrastructure with Traefik reverse proxy, Authentik single sign-on, automated TLS certificates, and multi-network...

4 min read

Docker Windows Containers: Native Engine Setup Guide

Deploy Docker Engine natively on Windows without Docker Desktop. Covers installation, Windows container mode, lifecycle management, and troubleshooting.

6 min read

Docker Security Fundamentals: Protecting Your Containers

Learn essential Docker security practices including image scanning, runtime protection, network isolation, and secrets management for production environments.

6 min read
Back to all HOWTOs