如何使用 Docker 在 Windows 上快速建立並還原自訂系統環境

如何使用 Docker 在 Windows 上快速建立並還原自訂系統環境

目錄

最近我遇到了一個需求,需要在 Windows 上安裝不同的軟體,之後又希望能迅速地將系統還原到原始狀態。雖然 Windows 內建的 Sandbox 功能能夠實現快速還原,但它無法讓我自訂那個“原始狀態”的具體內容。而傳統的虛擬機軟體如 VMWare 或 VirtualBox,雖然提供了客製化的靈活性,但還原過程卻相對耗時。這時,我想到了使用 Docker,因為 Docker 能夠讓我快速建立、刪除並還原到一個客製化的原始狀態。

在一番搜尋之後,我發現了一個名為 dockurr 的專案,它提供了適用於 Windows 的 Docker Image,讓我能夠在 Docker 容器中運行 Windows。這個專案提供了兩種版本的 Windows Docker Image:一個是針對 x86 架構的版本,另一個則是為 ARM 架構設計的。更吸引人的是,這些 Image 支援桌面應用程式,我只需透過網頁瀏覽器,就能遠端連線到 Windows 的桌面環境。而且,安裝過程既快速又方便。

這項發現為我解決了在快速還原和客製化需求之間的矛盾,讓我在工作流程上更加高效。

安裝 Docker

首先,確保您的系統已安裝 Docker。Docker 支持多平台,但本文建議在 Linux 系統上操作,並且需要安裝 KVM。Windows 用戶可以透過 WSL2 來使用 Docker。安裝 Docker 的詳細步驟,請參考 Docker 官方文件

系統需求

  • 最低記憶體:4GB
  • 最低 CPU 核心數:2
  • 建議記憶體:8GB 以上
  • 建議 CPU 核心數:4 以上

安裝 Windows Docker Image

dockurr 專案提供了 Windows 的 Docker Image,支持 x86 和 ARM 架構,並且支持桌面應用程式。您可以透過以下命令來安裝 Windows Docker Image:

# x86 版本
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows

# ARM 版本
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm

安裝完成後,您可以透過網頁瀏覽器訪問 port 8006 來連線到 Windows 的桌面。

使用 docker-compose 進行客製化

為了更方便地管理和客製化 Windows 容器,建議使用 docker-compose。以下是一個 docker-compose.yml 的範例:

version: "3"
services:
  windows:
    image: dockurr/windows
    container_name: windows
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    environment:
      - RAM_SIZE=8G
      - CPU_CORES=4
      - DISK_SIZE=64G
    volumes:
      - /path/to/windows:/storage
    stop_grace_period: 2m
    restart: on-failure

透過 docker-compose up -d 命令,即可建立並啟動 Windows 容器。

客製化 Windows Docker Image

為了滿足特定的需求,您可能需要在 Windows 容器中安裝特定的軟體或進行設定。完成這些設定後,您可以透過以下步驟來創建一個客製化的 Windows Docker Image:

  1. 停止 Windows 容器:docker stop windows
  2. 創建一個新的 Docker Image:docker commit windows windows-custom:latest
  3. 匯出新的 Docker Image:docker save windows-custom:latest -o windows-custom.tar
  4. 匯入 Docker Image:docker load -i windows-custom.tar

docker-compose.yml 中的 image 標籤改為新創建的 Image 名稱後,再次使用 docker-compose up -d 啟動容器。

提高 WSL2 資源配置

若您使用 WSL2,可以通過在 C:\Users\使用者名稱 目錄下創建一個 .wslconfig 檔案來提高資源配置:

[wsl2]
processors = 6 # CPU 核心數
memory = 12GB # 最大內存

修改配置後,請重啟 WSL2:wsl --shutdown

透過上述步驟,您可以輕鬆地建立、客製化並管理 Windows 的 Docker 容器,滿足快速部署和還原的需求。

分享 :

相關文章

如何使用 GitHub Actions 自動建立並推送 Docker Image

如何使用 GitHub Actions 自動建立並推送 Docker Image

在我們先前的文章 中,我們學習了如何使用 buildx 來建立能在多平台運行的 Docker Image。然而,這種方法仍需要手動操作。為了讓我們能在 Hugo 有新版本更新時自動建立對應的 Docker Image,我們可以利用 GitHub Actions 來實現這個目標。

閱讀更多
使用 Docker buildx 建立多平台 Docker Image

使用 Docker buildx 建立多平台 Docker Image

最近我在建設我的網站時選擇了 Hugo 這款靜態網站生成器,並選用了 Blowfish 主題。然而,我面臨了一個挑戰:Blowfish 主題要求 Hugo 的版本至少為 v0.115.0,但官方在 Docker Hub 上推薦的版本僅更新到了 v0.111.3。經過一番搜索,未能找到合適的 Docker Image,於是我決定自行創建一個。

閱讀更多