如何使用 Docker 在 Windows 上快速建立並還原自訂系統環境
- Leo
- 技術宅 ( tech geek)
- 2024年3月1日
目錄
最近我遇到了一個需求,需要在 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:
- 停止 Windows 容器:
docker stop windows
- 創建一個新的 Docker Image:
docker commit windows windows-custom:latest
- 匯出新的 Docker Image:
docker save windows-custom:latest -o windows-custom.tar
- 匯入 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 容器,滿足快速部署和還原的需求。