逆転の発想?Dockerコンテナ上でWindowsを動かす方法がいろいろと便利そうだった【dockur/windows】

Ubuntu

Windows環境でDocker上でUbuntuなどを動かすのはよくありますが、Ubuntu環境などでDocker上でWindowsを動かすのは珍しい、というか今までなかった発想なのではないかと思います。

最近エンジニア界隈でちょっとした話題を呼んでいるので、今回はその方法を取り上げます。

概要

dockur/windows

Docker上でWindowsを可能にするのが、「dockur/windows」。

公式説明は"Windows inside a Docker container."、すなわち「Dockerコンテナ内でWindows」と超シンプルです。

一応ライセンス認証は取っていないので、継続利用するならライセンス購入しないとダメみたいですが、「Ubuntu環境だけどちょっとだけWindows使いたいんだよな」というニーズにはピッタリの代物です。

使い方

Docker、Docker Composeに対応しており、それぞれ以下の方法で使用できます。(Kubernetesにも対応しているそうです。)

Docker Compose

services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "win11"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m

Docker CLI

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

Windowsの開き方

Dockerを起動したら、ポート8006番をブラウザ上で開けば、すぐにWindowsを使い始められます。

Windowsバージョンの選択

WindowsバージョンはDocker ComposeのYAMLファイルから変更できます。

environment:
  VERSION: "win11"

使用可能なバージョンは以下の通りで、VERSIONの部分を変更することでそれぞれ利用可能です。

ValueVersionSize
win11Windows 11 Pro5.4 GB
ltsc11Windows 11 LTSC4.2 GB
win11eWindows 11 Enterprise5.8 GB
win10Windows 10 Pro5.7 GB
ltsc10Windows 10 LTSC4.6 GB
win10eWindows 10 Enterprise5.2 GB
win8Windows 8.1 Pro4.0 GB
win8eWindows 8.1 Enterprise3.7 GB
win7Windows 7 Enterprise3.0 GB
vistaWindows Vista Enterprise3.0 GB
winxpWindows XP Professional0.6 GB
2025Windows Server 20255.0 GB
2022Windows Server 20224.7 GB
2019Windows Server 20195.3 GB
2016Windows Server 20166.5 GB
2012Windows Server 20124.3 GB
2008Windows Server 20083.0 GB
2003Windows Server 20030.6 GB

ARM64バージョン

ARM64バージョンを使いたい場合は、イメージを"dockurr/windows-arm"とすればOKです。

Docker Compose

services:
  windows:
    container_name: windows
    image: dockurr/windows-arm
    environment:
      VERSION: "win11"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m

Docker CLI

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

ディスクサイズ指定

デフォルトのディスクサイズは64GBなので、より大きくしたい場合は、DISK_SIZEを変更します。

environment:
  DISK_SIZE: "256G"

データを失うことなく、既存のディスクをより大きな容量にサイズ変更するためにも使用できます。

CPUコア数とRAMを変更する

デフォルトでは、最大2つのCPUコアと4GBのRAMが指定されています。

environment:
  RAM_SIZE: "8G"
  CPU_CORES: "4"

ユーザー名とパスワードの設定

デフォルトでは、ユーザー名:Docker、パスワードは空です。

environment:
  USERNAME: "bill"
  PASSWORD: "gates"

言語選択

デフォルトでは、英語版がダウンロードされます。

environment:
  LANGUAGE: "Japanese"

キーボードレイアウトの変更

デフォルトでは、選択言語のデフォルト以外のキーボードレイアウトやロケールを使用得る場合は、以下のように指定します。

environment:
  REGION: "en-US"
  KEYBOARD: "en-US"

インストール後だと効果がないので、その場合はコントロールパネルから変更します。

まとめ

Windowsといってもチョットくらいしか使えないのかな?と思っていたら、かなりガッツリと使えるようでしたので、「Mac環境やLinux環境だけどWindowsを使ってみたい」「別のWindows環境が欲しい」という方は是非使ってみてください。

また、もっと詳しい方法は公式から御覧ください。

公式:https://github.com/dockur/windows

公式(ARM64版):https://github.com/dockur/windows-arm

スポンサーリンク

Ubuntu

Posted by このめ