逆転の発想?Dockerコンテナ上でWindowsを動かす方法がいろいろと便利そうだった【dockur/windows】
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の部分を変更することでそれぞれ利用可能です。
Value | Version | Size |
---|---|---|
win11 | Windows 11 Pro | 5.4 GB |
ltsc11 | Windows 11 LTSC | 4.2 GB |
win11e | Windows 11 Enterprise | 5.8 GB |
win10 | Windows 10 Pro | 5.7 GB |
ltsc10 | Windows 10 LTSC | 4.6 GB |
win10e | Windows 10 Enterprise | 5.2 GB |
win8 | Windows 8.1 Pro | 4.0 GB |
win8e | Windows 8.1 Enterprise | 3.7 GB |
win7 | Windows 7 Enterprise | 3.0 GB |
vista | Windows Vista Enterprise | 3.0 GB |
winxp | Windows XP Professional | 0.6 GB |
2025 | Windows Server 2025 | 5.0 GB |
2022 | Windows Server 2022 | 4.7 GB |
2019 | Windows Server 2019 | 5.3 GB |
2016 | Windows Server 2016 | 6.5 GB |
2012 | Windows Server 2012 | 4.3 GB |
2008 | Windows Server 2008 | 3.0 GB |
2003 | Windows Server 2003 | 0.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
ディスカッション
コメント一覧
まだ、コメントがありません