Closed11

Windows inside Docker ?

bisquebisque

docker-compose.yaml を書いて起動してみると

Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory
Gracefully stopping... (press Ctrl+C again to force)
bisquebisque

(GPT調べ)

  • kvmを使えるのはLinuxのみ
  • macOSのDockerにLinuxを入れてkvmを利用することはできない
  • macOSのVirtualBoxにLinuxを入れてkvmを入れるのは制約が大きい
  • WindowsのWSL2にLinuxを入れてkvmを利用することはできない

代替案

  • クラウドでkvm対応の仮想マシンを作成する
bisquebisque

有効化する手順

https://cloud.google.com/compute/docs/instances/nested-virtualization/enabling?hl=ja#enable_nested_virtualization_directly_on_an_existing_vm

既存の設定値をエクスポート

gcloud compute instances export ubuntu \
  --destination=./property.yml \
  --zone=asia-northeast1-b

以下を追加して

advancedMachineFeatures:
  enableNestedVirtualization: true

適用

gcloud compute instances update-from-file ubuntu \
  --source=./property.yml \
  --most-disruptive-allowed-action=RESTART \
  --zone=asia-northeast1-b
bisquebisque

sshでubuntuに接続

設定が反映されているかの確認(0以外のレスポンスが返れば有効になっているとのこと。4が返った)

grep -cw vmx /proc/cpuinfo

/dev/kvm があることを確認

ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 Nov 10 14:40 /dev/kvm
bisquebisque

ubuntu上でdocker-compose.yamlを書いて起動した

Windowsのセットアップが始まった

 ✔ Container windows                Created                                                                                                                                           2.6s
Attaching to windows
windows  | ❯ Starting Windows for Docker v4.01...
windows  | ❯ For support visit https://github.com/dockur/windows
windows  | ❯ CPU: Intel Xeon | RAM: 7/8 GB | DISK: 16 GB (ext4) | HOST: 6.8.0-1015-gcp...
windows  |
windows  | ❯ Downloading Windows XP from bobpony.com...
windows  |
windows  |      0K ........ ........ ........ ........  5% 3.07M 3m1s
windows  |  32768K ........ ........ ........ ........ 10% 12.4M 1m47s
bisquebisque

立ち上がってみたい。どうやってアクセスしたらいいんだ

windows  | DSsDSsDSsDSs❯ Windows started succesfully, visit http://localhost:8006/ to view the screen...
bisquebisque

ファイアウォールに穴を開けてみた。

アクセスしてみたけど応答がない(ブロックはされていなさそう)

サーバーは8006をlistenしているが。

このスクラップは7日前にクローズされました