{"id":550,"date":"2025-01-12T12:02:23","date_gmt":"2025-01-12T10:02:23","guid":{"rendered":"https:\/\/it4home.dk\/?p=550"},"modified":"2025-01-12T12:02:23","modified_gmt":"2025-01-12T10:02:23","slug":"running-windows-11-in-docker-on-a-zimaboard","status":"publish","type":"post","link":"https:\/\/it4home.dk\/index.php\/2025\/01\/12\/running-windows-11-in-docker-on-a-zimaboard\/","title":{"rendered":"Running Windows 11 in Docker on a ZimaBoard"},"content":{"rendered":"<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right\"><a href=\"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/posts\/550?print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\" ><\/a><a href=\"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/posts\/550?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\" ><img decoding=\"async\" src=\"https:\/\/it4home.dk\/wp-content\/plugins\/pdf-print\/images\/print.png\" alt=\"image_print\" title=\"Print Content\" \/><\/a><\/div>\n<p class=\"wp-block-paragraph\">Recently, I explored a fascinating way to run Windows 11 directly within a Docker container on my ZimaBoard. This setup uses the <code>dockurr\/windows<\/code> Docker image, which makes it surprisingly simple to virtualize a full version of Windows for testing purposes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting Up Windows 11 on Docker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To set up Windows 11 in Docker, you will need to create a <code>docker-compose.yml<\/code> file with the following configuration:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  windows:\n    image: dockurr\/windows\n    container_name: windows\n    environment:\n      VERSION: \"11\"\n    devices:\n      - \/dev\/kvm\n      - \/dev\/net\/tun\n    cap_add:\n      - NET_ADMIN\n    ports:\n      - 8006:8006\n      - 3389:3389\/tcp\n      - 3389:3389\/udp\n    volumes:\n      - \/data\/windows11_data:\/storage\n    stop_grace_period: 2m\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Key Steps to Prepare:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create the Storage Folder:<\/strong> <code>mkdir -p \/data\/windows11_data<\/code><\/li>\n\n\n\n<li><strong>Deploy the Container:<\/strong> <code>docker-compose up -d<\/code><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">This setup will pull the Windows 11 ISO directly from Microsoft servers and begin the installation within the container.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Versions Available<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can specify different versions by changing the <code>VERSION<\/code> parameter in the <code>docker-compose.yml<\/code> file. Here are the available versions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>11<\/code> &#8211; Windows 11 Pro (5.4 GB)<\/li>\n\n\n\n<li><code>11l<\/code> &#8211; Windows 11 LTSC (4.2 GB)<\/li>\n\n\n\n<li><code>11e<\/code> &#8211; Windows 11 Enterprise (5.8 GB)<\/li>\n\n\n\n<li><code>10<\/code> &#8211; Windows 10 Pro (5.7 GB)<\/li>\n\n\n\n<li><code>10l<\/code> &#8211; Windows 10 LTSC (4.6 GB)<\/li>\n\n\n\n<li><code>10e<\/code> &#8211; Windows 10 Enterprise (5.2 GB)<\/li>\n\n\n\n<li>And many more, including Windows Server versions.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Accessing Windows 11 in the Browser<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can view and interact with the Windows 11 installation in a web browser using the following link:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>http:\/\/192.168.0.215:8006\/?resize=scale&amp;reconnect=true&amp;autoconnect=true<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alternatively, you can use <strong>Remote Desktop (mstsc)<\/strong> to connect to the container via port 3389.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Persistent Storage and Licensing<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Storage:<\/strong> The <code>\/data\/windows11_data<\/code> volume ensures persistent storage, meaning you can install software and perform tests.<\/li>\n\n\n\n<li><strong>License:<\/strong> A valid Windows license key is still required for activation.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Important Note About Updates<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Windows installation is based on an ISO downloaded during the initial setup. Therefore, updating the container image itself will not update Windows. To receive the latest version, you would need to delete the persistent storage and reinstall the container.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">My Experience and Recommendation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I tested this setup on my ZimaBoard, and while it worked, the performance was limited due to the hardware constraints. For a smoother experience, I recommend running Windows 11 on a more powerful Proxmox server with direct virtualization support.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This method of running Windows in Docker provides an interesting alternative for temporary tests, development environments, and isolated Windows instances. It&#8217;s great to see how flexible Docker has become, even for complex operating systems like Windows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stay tuned for more experiments and technical insights on my homepage!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, I explored a fascinating way to run Windows 11 directly within a Docker container on my ZimaBoard. This setup uses the dockurr\/windows Docker image, which makes it surprisingly simple to virtualize a full&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":552,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[2,5,26,29,4,6],"tags":[],"class_list":["post-550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker","category-linux","category-proxmox","category-virtual","category-windows","category-zimaboard"],"_links":{"self":[{"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/posts\/550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/comments?post=550"}],"version-history":[{"count":1,"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/posts\/550\/revisions"}],"predecessor-version":[{"id":551,"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/posts\/550\/revisions\/551"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/media\/552"}],"wp:attachment":[{"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/media?parent=550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/categories?post=550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it4home.dk\/index.php\/wp-json\/wp\/v2\/tags?post=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}