LIVA で Dockers for Windows (残念)

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 をダウンロードします。

Screenshot of www.docker.com

 

ダウンロードしたインストーラを実行してインストールを行います。特に難しいことはありませんでした。 最後に「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 コンテナは使えないようです。残念。

 

 

 

参考記事 :