環境
- Windows 10 Professional
- Docker for Windows 17.09.0-ce
スイッチしてそれぞれdocker infoを打って違いを見てみた。
docker info (Linux)
Switch to Linux Containers...
- Storage Driver・・・overlay2
- Backing Filesystem・・・extfs
- runtime ・・・runc
- OSType・・・Linux
- Operating System・・・Alpine Linux v3.5
- Docker Root Dir・・・/var/lib/docker
PS C:\Users\tie304410> docker info
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 2
Server Version: 17.09.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.49-moby
Operating System: Alpine Linux v3.5
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.934GiB
Name: moby
ID: 35C3:5MXK:MU7Z:CSWS:PCDX:SBMJ:EXMF:46YZ:ZRUR:VVW2:GRVY:E7OH
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 16
Goroutines: 26
System Time: 2017-11-21T23:35:01.4540411Z
EventsListeners: 0
Http Proxy: xxx.xxx.xxx.co.jp:8080
Https Proxy: xxx.xxx.xxx.co.jp:8080
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
docker info (Windows)
Switch to Windows Containers...
- Storage Driver・・・windowsfilter
- Isolation・・・hyperv
- OSType・・・Windows
- Operating System・・・Windows 10 Pro
- Docker Root Dir・・・C:\ProgramData\Docker
PS C:\Users\tie304410> docker info
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 1
Server Version: 17.09.0-ce
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd json-file logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 14393 (14393.1770.amd64fre.rs1_release.170917-1700)
Operating System: Windows 10 Pro
OSType: windows
Architecture: x86_64
CPUs: 4
Total Memory: 7.899GiB
Name: S1706C10664-T1
ID: 4IEU:KVRB:CA5F:ZCNM:MNNC:INHX:PYA5:NEVC:2HZQ:VYDK:XVZ4:R273
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: -1
Goroutines: 23
System Time: 2017-11-22T08:35:45.7868082+09:00
EventsListeners: 0
Http Proxy: yyy.yyy.yyy.co.jp:8080
Https Proxy: yyy.yyy.yyy.co.jp:8080
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Windows mode と Linux modeのスイッチ
PS C:\Program Files\Docker\Docker> .\DockerCli.exe
Usage: DockerCli.exe [-SwitchDaemon] [-Version]
-Version: Show the Docker for Windows version information
-SwitchDaemon: Point the Docker CLI to either Linux containers or Windows containers
-SharedDrives: List the shared drives
PS C:\Program Files\Docker\Docker> .\DockerCli.exe -SwitchDaemon
# Linux mode
PS C:\Program Files\Docker\Docker> docker version
Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:40:09 2017
OS/Arch: windows/amd64
Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:45:38 2017
OS/Arch: linux/amd64
Experimental: true
# スイッチ
PS C:\Program Files\Docker\Docker> .\DockerCli.exe -SwitchDaemon
# Windows mode
PS C:\Program Files\Docker\Docker> docker version
Client:
Version: 17.09.0-ce
API version: 1.32
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:40:09 2017
OS/Arch: windows/amd64
Server:
Version: 17.09.0-ce
API version: 1.32 (minimum version 1.24)
Go version: go1.8.3
Git commit: afdb6d4
Built: Tue Sep 26 22:50:27 2017
OS/Arch: windows/amd64
Experimental: true
当然、Clientは同じですね。Serverがスイッチで変わってるのがわかります。
タスクトレイのDocker for Windowsアイコンからもできます。
気づいたこと
- Http Proxy/Https Proxyはそれぞれ別の情報を保持
- CPUsとTotal Memoryは、Linux Switch時はHyper-V上で建てられているVirtual Machine(MobyLinuxVM)のリソース情報、Windows Switch時は母艦のリソース情報