<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>virtualbox - Hamradio.my</title>
	<atom:link href="https://hamradio.my/tag/virtualbox/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Amateur Radio, Tech Insights and Product Reviews</description>
	<lastBuildDate>Wed, 21 May 2025 12:09:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://hamradio.my/wp-content/uploads/2026/02/cropped-cropped-image-removebg-preview-3-32x32.png</url>
	<title>virtualbox - Hamradio.my</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Use Docker on FreeBSD (and the Best Alternatives)</title>
		<link>https://hamradio.my/2025/06/how-to-use-docker-on-freebsd-and-the-best-alternatives/</link>
					<comments>https://hamradio.my/2025/06/how-to-use-docker-on-freebsd-and-the-best-alternatives/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Mon, 02 Jun 2025 12:01:00 +0000</pubDate>
				<category><![CDATA[container]]></category>
		<category><![CDATA[containerization]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[freebsd jails]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[bastillebsd]]></category>
		<category><![CDATA[bhyve]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[freebsdjail]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[linuxvm]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[podman]]></category>
		<category><![CDATA[selfhosting]]></category>
		<category><![CDATA[serveradmin]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[techguide]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[virtualbox]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7454</guid>

					<description><![CDATA[<p>Docker has become the de facto standard for containerization on Linux systems. It provides developers with an easy and reproducible way to deploy applications. But if you&#8217;re a FreeBSD user like me, you&#8217;ve probably discovered that Docker isn’t natively supported. That’s because Docker relies heavily on Linux kernel features such as cgroups, namespaces, and UnionFS, [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/how-to-use-docker-on-freebsd-and-the-best-alternatives/">How to Use Docker on FreeBSD (and the Best Alternatives)</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Docker has become the de facto standard for containerization on Linux systems. It provides developers with an easy and reproducible way to deploy applications. But if you&#8217;re a FreeBSD user like me, you&#8217;ve probably discovered that Docker isn’t natively supported. That’s because Docker relies heavily on Linux kernel features such as <strong>cgroups</strong>, <strong>namespaces</strong>, and <strong>UnionFS</strong>, which FreeBSD does not support directly.</p>



<p class="wp-block-paragraph">So, what are our options? Can we still run containers on FreeBSD, or even Docker itself? The answer is yes—with some workarounds and native alternatives.</p>



<p class="wp-block-paragraph">In this blog post, we will walk you through several approaches:</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="h-why-docker-doesn-t-run-natively-on-freebsd"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why Docker Doesn’t Run Natively on FreeBSD</h3>



<p class="wp-block-paragraph">Docker was built specifically for the Linux kernel. It depends on:</p>



<ul class="wp-block-list">
<li>Linux control groups (cgroups)</li>



<li>Namespaces</li>



<li>AUFS/OverlayFS</li>



<li>A running Docker daemon</li>
</ul>



<p class="wp-block-paragraph">FreeBSD uses different mechanisms, such as <strong>jails</strong> and <strong>ZFS</strong>. Because of this incompatibility, Docker can&#8217;t run on FreeBSD <em>without</em> a Linux layer. However, that doesn’t mean you’re out of luck.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-option-1-use-podman-a-docker-compatible-alternative"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Option 1: Use Podman – A Docker-Compatible Alternative</h2>



<p class="wp-block-paragraph"><a href="https://podman.io/"><strong>Podman</strong></a> is a daemonless container engine that offers a command-line interface similar to Docker. It&#8217;s available in FreeBSD’s package repository and works quite well for many use cases.</p>



<h3 class="wp-block-heading" id="h-installing-podman-on-freebsd"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Installing Podman on FreeBSD</h3>



<pre class="wp-block-code"><code>pkg install podman
</code></pre>



<p class="wp-block-paragraph">Start the Podman service:</p>



<pre class="wp-block-code"><code>service podman start
</code></pre>



<p class="wp-block-paragraph">Now you can use it just like Docker:</p>



<pre class="wp-block-code"><code>podman pull alpine
podman run -it alpine sh
</code></pre>



<p class="wp-block-paragraph">Podman runs rootless containers, which means better security, but some Docker features like Docker Compose or privileged containers might not be fully supported.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-option-2-run-docker-inside-a-linux-vm"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5a5.png" alt="🖥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Option 2: Run Docker Inside a Linux VM</h2>



<p class="wp-block-paragraph">If you absolutely need full Docker functionality, the best solution is to run Docker <em>inside a virtual machine</em>. You can do this using FreeBSD’s native hypervisor <strong>bhyve</strong>, or with <strong>VirtualBox</strong>.</p>



<h3 class="wp-block-heading" id="h-a-using-bhyve-and-vm-bhyve">A. Using bhyve and vm-bhyve</h3>



<ol class="wp-block-list">
<li>Install the required packages:</li>
</ol>



<pre class="wp-block-code"><code>pkg install vm-bhyve grub2-bhyve
</code></pre>



<ol start="2" class="wp-block-list">
<li>Initialize the environment:</li>
</ol>



<pre class="wp-block-code"><code>zfs create -o mountpoint=/vm zroot/vm
vm init
vm switch create public
</code></pre>



<ol start="3" class="wp-block-list">
<li>Download a Linux ISO (e.g., Ubuntu), and create the VM:</li>
</ol>



<pre class="wp-block-code"><code>vm iso https://releases.ubuntu.com/22.04/ubuntu-22.04-live-server-amd64.iso
vm create ubuntuvm
vm install ubuntuvm ubuntu-22.04-live-server-amd64.iso
</code></pre>



<ol start="4" class="wp-block-list">
<li>After installing Ubuntu, log into the VM and install Docker:</li>
</ol>



<pre class="wp-block-code"><code>curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
</code></pre>



<p class="wp-block-paragraph">Now you have a full Linux environment running Docker within FreeBSD.</p>



<h3 class="wp-block-heading" id="h-b-using-virtualbox">B. Using VirtualBox</h3>



<p class="wp-block-paragraph">If you prefer a GUI solution, VirtualBox works well on FreeBSD:</p>



<pre class="wp-block-code"><code>pkg install virtualbox-ose
</code></pre>



<p class="wp-block-paragraph">After installation, create a Linux virtual machine (e.g., Ubuntu, Alpine), then install Docker inside it as shown above.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-option-3-use-freebsd-jails-with-bastillebsd"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Option 3: Use FreeBSD Jails with BastilleBSD</h2>



<p class="wp-block-paragraph">FreeBSD has its own native containerization technology: <strong>jails</strong>. They are extremely lightweight and secure. You can manage jails easily with a tool like <a href="https://bastillebsd.org/"><strong>BastilleBSD</strong></a>.</p>



<h3 class="wp-block-heading" id="h-installing-bastillebsd"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Installing BastilleBSD</h3>



<pre class="wp-block-code"><code>pkg install bastille
sysrc bastille_enable=YES
service bastille start
</code></pre>



<h3 class="wp-block-heading" id="h-bootstrap-a-freebsd-release"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bootstrap a FreeBSD Release</h3>



<pre class="wp-block-code"><code>bastille bootstrap 13.2-RELEASE
</code></pre>



<h3 class="wp-block-heading" id="h-create-and-start-a-jail"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Create and Start a Jail</h3>



<pre class="wp-block-code"><code>bastille create myjail 13.2-RELEASE 10.0.0.10
bastille start myjail
bastille console myjail
</code></pre>



<p class="wp-block-paragraph">Now you’re inside a FreeBSD jail where you can run isolated applications.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">While this isn’t Docker-compatible, it’s extremely efficient and secure for server deployments.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-summary-table"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Summary Table</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Method</th><th>Docker-Compatible</th><th>FreeBSD Native</th><th>Ideal Use Case</th></tr></thead><tbody><tr><td><strong>Podman</strong></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Partial</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Yes</td><td>Development, rootless containers</td></tr><tr><td><strong>Linux VM (bhyve)</strong></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Full</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> No</td><td>Full Docker support, CI/CD setups</td></tr><tr><td><strong>VirtualBox</strong></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Full</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> No</td><td>Desktop Docker environment</td></tr><tr><td><strong>BastilleBSD</strong></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> No</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Yes</td><td>Secure, lightweight FreeBSD jails</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-final-thoughts"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">While Docker doesn’t run natively on FreeBSD, you still have powerful and flexible options depending on your use case:</p>



<ul class="wp-block-list">
<li>Want to run containers like Docker? <strong>Try Podman.</strong></li>



<li>Need full Docker functionality? <strong>Use a Linux VM with bhyve or VirtualBox.</strong></li>



<li>Want lightweight, secure FreeBSD-native containers? <strong>Go with jails and BastilleBSD.</strong></li>
</ul>



<p class="wp-block-paragraph">Each method has its strengths and trade-offs.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://hamradio.my/2025/06/how-to-use-docker-on-freebsd-and-the-best-alternatives/">How to Use Docker on FreeBSD (and the Best Alternatives)</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/how-to-use-docker-on-freebsd-and-the-best-alternatives/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
