<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docker on Stefan Maron | Business Central &amp; AL Development</title><link>https://stefanmaron.com/tags/docker/</link><description>Recent content in Docker on Stefan Maron | Business Central &amp; AL Development</description><generator>Hugo -- gohugo.io</generator><language/><lastBuildDate>Mon, 16 Mar 2026 09:00:00 +0100</lastBuildDate><atom:link href="https://stefanmaron.com/tags/docker/index.xml" rel="self" type="application/rss+xml"/><item><title>Swappable Claude Profiles: Per-Project Configs via Container Mounting (Part 3)</title><link>https://stefanmaron.com/posts/swappable-claude-profiles-container-mounting-part-3/</link><pubDate>Mon, 16 Mar 2026 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/swappable-claude-profiles-container-mounting-part-3/</guid><description>After Part 2 we had a working standalone container — no VS Code required, no IPC socket surprises. But there was still one problem: a single global ~/.claude folder shared across everything. One set of instructions, one list of skills, one set of agents — regardless of whether you&amp;rsquo;re doing AL development, debugging telemetry, or investigating something completely different.
That doesn&amp;rsquo;t scale. So this part introduces profile folders.
You can watch the full stream on YouTube if you want to follow along.</description></item><item><title>Claude Code in a Standalone Docker Container: Building a Real Sandbox (Part 2)</title><link>https://stefanmaron.com/posts/claude-code-standalone-docker-sandbox/</link><pubDate>Wed, 04 Mar 2026 17:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/claude-code-standalone-docker-sandbox/</guid><description>If you watched Part 1 , you know the setup: I wanted to run Claude Code in bypass-permissions (cruise mode) without worrying about it going rogue on my host. The dev container approach worked, but someone on LinkedIn pointed out that even after my VS Code IPC mitigations, Claude Code could still reconstruct the IPC bridge and escape. So Part 1 was technically broken.
Part 2 fixes that. You can watch the full stream on YouTube if you want to follow along.</description></item><item><title>Building a Plug &amp; Play Claude Code Dev Container for AL Development</title><link>https://stefanmaron.com/posts/claude-code-dev-container-al/</link><pubDate>Fri, 20 Feb 2026 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/claude-code-dev-container-al/</guid><description>A few weeks ago I shared my Claude Code configuration for AL development — the CLAUDE.md instructions, the agent profile, custom commands. It&amp;rsquo;s all public and you&amp;rsquo;re welcome to use or adapt it. But getting it into a new project still involves some manual steps, and there&amp;rsquo;s one thing that always annoyed me: I was running Claude Code outside my dev containers. Not because I wanted to, but because I didn&amp;rsquo;t want to authenticate inside every new container.</description></item><item><title>Fixing AL Language Extension Debugger on Linux with Wayland/Hyprland</title><link>https://stefanmaron.com/posts/fixing-al-debugger-linux-wayland/</link><pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate><guid>https://stefanmaron.com/posts/fixing-al-debugger-linux-wayland/</guid><description>Last week I switched my development machine from i3 to Hyprland and immediately ran into a frustrating problem: the AL Language Extension debugger stopped working. Well, not completely - it would connect to Business Central and pause on breakpoints, but the Call Stack and Variables panels stayed completely empty. No way to inspect any program state at all.
The Problem On my old i3 setup everything worked perfectly. But after switching to Hyprland (Wayland), debugging became impossible:</description></item><item><title>Is Linux ready for BC Development?</title><link>https://stefanmaron.com/posts/bc-development-on-linux/</link><pubDate>Sat, 08 Feb 2025 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/bc-development-on-linux/</guid><description>Three years ago I installed Linux on a second partition, thinking I&amp;rsquo;d boot back into Windows within a week. I never did. In this episode of the BC Coding Stream I invited fellow MVP Tine Starič to go through all the questions a BC developer would actually ask before making that switch.
You can watch the full stream on YouTube if you want to follow along.
The short answer: yes, Linux works for BC development.</description></item><item><title>Excel Reports OnPrem/Docker</title><link>https://stefanmaron.com/posts/excelreportsonprem/</link><pubDate>Fri, 06 Sep 2024 06:43:14 +0200</pubDate><guid>https://stefanmaron.com/posts/excelreportsonprem/</guid><description>This blog is about how to get your Excel report layout connected to have a refreshable Excel report. But with Docker and OnPremise ;)
The idea and the base for this is Tonyas blog, if you did not read that already, I highly recommend you do so:
https://bcdevnotebook.com/2024/04/30/the-comprehensive-guide-to-using-business-central-excel-report-metadata-with-refreshable-apis/ Alright, now lets get to it.
First, of course, we need a docker container. If you dont know at all how to prepare your machine to be able to run Business Central docker containers, you might need to read up on that before you continue here.</description></item><item><title>Running Windows 11 on a Debian Host</title><link>https://stefanmaron.com/posts/running_windows_11_debian_host/</link><pubDate>Tue, 19 Mar 2024 08:24:52 +0100</pubDate><guid>https://stefanmaron.com/posts/running_windows_11_debian_host/</guid><description>Navigating the Build Agent Dilemma for Business Central Developers working with Business Central are familiar with a common problem: the reliance on Windows for build agents. This dependency has been highlighted recently with Microsoft&amp;rsquo;s decision to deprecate base images compatible with Windows 10. As a result, Windows 10 now requires containers to run in Hyper-V isolation, which has a noticeable impact on the speed of building pipelines.
My personal setup for a build agent consisted of older hardware components that were cost-effective and sufficient for my needs—until now.</description></item><item><title>AL on Linux, Dev Containers, and Codespaces</title><link>https://stefanmaron.com/posts/al-on-linux-devcontainers-codespaces/</link><pubDate>Wed, 28 Jun 2023 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/al-on-linux-devcontainers-codespaces/</guid><description>At BC TechDays 2023 in Antwerp, Tobias Fenster and I did a joint session called &amp;ldquo;Experiments for BC — Wasm? Codespaces? Linux? Wtf!&amp;rdquo; The full session is on YouTube if you want to watch it.
Tobias kicked things off with a deep dive into WebAssembly — what it is, where it came from, and why it might matter for the BC ecosystem. If you&amp;rsquo;re curious about running .NET or AL-adjacent code in a WASM runtime, his half is worth watching.</description></item><item><title>My journey to Linux</title><link>https://stefanmaron.com/posts/my-journey-to-linux/</link><pubDate>Thu, 08 Jun 2023 19:46:33 +0000</pubDate><guid>https://stefanmaron.com/posts/my-journey-to-linux/</guid><description>I do not exactly recall when that thought started to grow in the back of my mind, but I think I always were fascinated by linux. And I already created linux live USB sticks a couple of times. It not that difficult anymore as I recall it was someday. Maybe it never was and I just became more savvy with tech, who knows. But I never felt like this could be the operating system I would use for my daily work.</description></item><item><title>Upgrade a BC CRONUS Database using Docker</title><link>https://stefanmaron.com/posts/upgrade-a-bc-cronos-database-using-docker/</link><pubDate>Fri, 04 Jun 2021 09:00:33 +0000</pubDate><guid>https://stefanmaron.com/posts/upgrade-a-bc-cronos-database-using-docker/</guid><description>A few days ago I streamed how I try to upgrade a Business Central CRONOS Database just using docker:
https://youtu.be/2UnIFAWgEK0 Apart from a few throwbacks it went quite well, but better watch yourself ;)
However, I promised to publish the script I created so you don&amp;rsquo;t need to write it down from the video.
https://gist.github.com/StefanMaron/17fd977dd7192e4a713012db91889cf5 Have Fun ;)</description></item><item><title>Speed up BC container creation</title><link>https://stefanmaron.com/posts/speed-up-bc-container-creation/</link><pubDate>Tue, 16 Mar 2021 19:46:00 +0000</pubDate><guid>https://stefanmaron.com/posts/speed-up-bc-container-creation/</guid><description>This is probably going to be a short blog again and chances are high that you already know what I am going to share. But if your are like me and did not know this little trick, its going to save you, and maybe your team, quite some time!
Since I do not run my pipelines on DevOps but on GitLab I am quite happy to use the Run-ALPipeLine command. When you supply the -imageName parameter it behaves the same way like New-BCContainer does.</description></item><item><title>Can I copy my container?</title><link>https://stefanmaron.com/posts/can-i-copy-my-container/</link><pubDate>Tue, 23 Feb 2021 05:58:14 +0000</pubDate><guid>https://stefanmaron.com/posts/can-i-copy-my-container/</guid><description>I just stumbled over this twitter post from Steve
And I asked myself the same question already some time ago. And guess what, this is super easy ;)
Stop and Commit the container you want to copy You first need to stop your container you want to copy. If it is running of course ;)
Stop-BcContainer &amp;lt;ContainerToCopy&amp;gt; This should not take too long.
After that you can use the &amp;ldquo;Docker commit&amp;rdquo; command to save the current state of this container to a new image.</description></item><item><title>Automated export objects from C/AL</title><link>https://stefanmaron.com/posts/automated-export-objects-from-c-al/</link><pubDate>Mon, 07 Sep 2020 05:44:17 +0000</pubDate><guid>https://stefanmaron.com/posts/automated-export-objects-from-c-al/</guid><description>This time I have some tips on how to use GIT integration when developing in C/AL with docker. When used to AL development one of the first things to notice when going back to C/AL is, that you do not have any version control.
To solve this problem, I added a little bit of SQL code to the [Object] table as SQL Trigger. This trigger exports each edited object as TXT file to specified folder.</description></item><item><title>Coding4Performance 4: Task Scheduler</title><link>https://stefanmaron.com/posts/coding4performance-4-task-scheduler/</link><pubDate>Wed, 15 Jul 2020 09:13:05 +0000</pubDate><guid>https://stefanmaron.com/posts/coding4performance-4-task-scheduler/</guid><description>In my last post about Start Session I explained how you can easily run a Codeunit in background and relieve the user session. The downside on this method is, that your background task still runs on the same server instance like the user session does. If you have only a few users and only one server instance you are good to go. But if not, then the Task Scheduler could be of interest for you!</description></item><item><title>How to: Fix problems with Docker DNS resolution</title><link>https://stefanmaron.com/posts/how-to-fix-problems-with-docker-dns-resolution/</link><pubDate>Sat, 04 Jul 2020 17:53:29 +0000</pubDate><guid>https://stefanmaron.com/posts/how-to-fix-problems-with-docker-dns-resolution/</guid><description>Recently I discovered that my BC instance within a Docker container somehow can not access the internet. After some time I figured that the problem was the DNS resolution and I thought I might share two possible ways to resolve this problem with you!
How to check if you have the same problem You can check this by yourself if you enter you BC Container. (Note: You need to have the navcontainerhelper module installed)</description></item></channel></rss>