如何使用 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 容器,滿足快速部署和還原的需求。

相關文章

使用 Docker buildx 建立多平台 Docker Image

使用 Docker buildx 建立多平台 Docker Image

最近我在建設我的網站時選擇了 Hugo 這款靜態網站生成器,並選用了 Blowfish 主題。然而,我面臨了一個挑戰:Blowfish 主題要求 Hugo 的版本至少為 v0.115

閱讀更多
高效影音處理:用 FFmpeg 輕鬆轉換、合併及提取影片

高效影音處理:用 FFmpeg 輕鬆轉換、合併及提取影片

FFmpeg 是一款功能強大的開源影音處理工具,廣泛用於影片格式轉換、擷取影片中的聲音檔、添加字幕、擷取特定片段,以及進行批次處理等。考慮到其多功能性,

閱讀更多
Kobo Nia 6” 閱讀器:您的隨身知識庫

Kobo Nia 6” 閱讀器:您的隨身知識庫

前言:探索 Kobo Nia 6” 的魅力 今天我要與大家分享的是一款我近期非常喜愛的電子閱讀器 — Kobo Nia 6”。在這個數位時代,電子閱讀器已經成為了許多書迷的必備工

閱讀更多