Docker for Windows では、 Windows コンテナが起動できるようになっています。
開発者に朗報! Windows 10でWindows Serverコンテナが実行可能に (1/2):企業ユーザーに贈るWindows 10への乗り換え案内(42) - @IT
https://hub.docker.com/_/microsoft-windows
ただ、私の環境では公式のドキュメントに書いてある通りに docker run mcr.microsoft.com/windows:1903
を実行すると no matching manifest for unknown in the manifest list entries.
と表示され起動できない。
Windows コンテナは Docker を Windows コンテナ用に設定する必要があるみたい。
常駐タスクアイコンの中から、 docker for windows
を右クリックして Switch to windows containers
を選択しておくこと。
あと、 エクスペリメンタル機能を有効にしておく必要がある。
同じように docker for windows
のアイコンを右クリックして Settings
から Daemon
を選択して Experimental features
のチェックを入れる。
いろんなサイトではこれで有効になるようだが、私の環境では無理だった。
私の場合は、エクスペリメンタル機能を有効にするために、%USERPROFILE%
の下にある .docker/config.json
の中に "experimental": "enabled"
を追加した。
あと、Windows コンテナは ホストの Windows OS と同じ環境で動作するため ホストのOSをゲストのOSと同じにしておく必要があるようだ。
私の環境は WIndows 10 Pro 1803 だったため、ちゃんと起動できなかった。 Windows Update を行って Windows 10 Pro 1903 にしておく必要がある。
これらをすべて実行し、 docker for windows
を再起動したのち、再度 docker run mcr.microsoft.com/windows:1903
を実行すると実行できる。
ただ、実行してもすぐに終了してしまうので、以下のようにインタラクティブモードにしたほうがいい。
docker run -it --name wincont01 --isolation=hyperv mcr.microsoft.com/windows:1903 cmd