LIVA で Windows10 April 2018 Update (Version 1803) が動くようになったので、 Docker for Windows をインストールしてみました。
Docker for Windows を動かすには、 Hyper-V が使える必要があります。(このため、64bit Windows 10 Pro 以上でなければなりません。)
LIVA では、Fall Creators Update(1709) では Hyper-V が使えなかったので試せませんでしたが、April 2018 Update (1803) では Hyper-V が再び使えるようになりましたので、Docker for Windows を試してみました 。
Docker for Windows から Community Edition (CE) をダウンロードします。 特に Edge である必要はないので、素直に stable をダウンロードします。
ダウンロードしたインストーラを実行してインストールを行います。特に難しいことはありませんでした。 最後に「Use Windows containers insted of Linux containers」にチェックを入れました。
docker version の出力は以下の通りです。
client は Linux だと思っていましたが、Windows でした。(先ほどチェックを入れたからですが。)
C:¥>docker version Client: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:12:48 2018 OS/Arch: windows/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.24) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:21:42 2018 OS/Arch: windows/amd64 Experimental: false
docker info の出力は以下の通りです。
C:>docker info Containers: 1 Running: 0 Paused: 0 Stopped: 1 Images: 1 Server Version: 18.03.1-ce Storage Driver: windowsfilter Windows: Logging Driver: json-file Plugins: Volume: local Network: ics l2bridge l2tunnel nat null overlay transparent Log: awslogs etwlogs fluentd gelf json-file logentries splunk syslog Swarm: inactive Default Isolation: hyperv Kernel Version: 10.0 17134 (17134.1.amd64fre.rs4_release.180410-1804) Operating System: Windows 10 Pro OSType: windows Architecture: x86_64 CPUs: 2 Total Memory: 1.891GiB Name: liva ID: XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX Docker Root Dir: C:\ProgramData\Docker Debug Mode (client): false Debug Mode (server): true File Descriptors: -1 Goroutines: 21 System Time: 2018-05-20T05:56:57.7922187+09:00 EventsListeners: 0 Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false
次に Windows コンテナのテストを行いました。 きちんと動きました。
C:¥>docker run microsoft/dotnet-samples:dotnetapp-nanoserver
Dotnet-bot: Welcome to using .NET Core!
__________________
\
\
....
....'
....
..........
.............'..'..
................'..'.....
.......'..........'..'..'....
........'..........'..'..'.....
.'....'..'..........'..'.......'.
.'..................'... ......
. ......'......... .....
. ......
.. . .. ......
.... . .......
...... ....... ............
................ ......................
........................'................
......................'..'...... .......
.........................'..'..... .......
........ ..'.............'..'.... ..........
..'..'... ...............'....... ..........
...'...... ...... .......... ...... .......
........... ....... ........ ......
....... '...'.'. '.'.'.' ....
....... .....'.. ..'.....
.. .......... ..'........
............ ..............
............. '..............
...........'.. .'.'............
............... .'.'.............
.............'.. ..'..'...........
............... .'..............
......... ..............
.....
**Environment**
Platform: .NET Core 2.0
OS: Microsoft Windows 10.0.14393
なお、Hyper-V には MobyLinuxVM という名前で Docker 用の仮想マシンが登録されていました。
次に Linux コンテナを試そうと思い、 Linux コンテナに切り替えようとしましたが、メモリ不足で切り替えることができませんでした。LIVA は 2GB しかメモリを積んでいないので、LIVA で Docker for Windows の Windows/Linux コンテナの切り替えは厳しいようです。LIVA X/X2 等の 4GBモデルならおそらく Windows/Linux コンテナ切り替えも可能でしょう。
なお、切り替えをあきらめて、デフォルトを Linux コンテナで使うことができるのかどうか 試してみました。
切り替えできないので、一度アンインストールして、再度インストールします。最後の「Use Windows containers insted of Linux containers」にはチェックは入れません。
インストールを進めると RAM が足りないのでエラーになってしまいました。どうやら 2GB では Linux コンテナは使えないようです。残念。
参考記事 :





