Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Windows Server Containers
John Starks
Principal Software Engineering Lead, Microsoft
Arnaud Porterie
Senior Engineering Ma...
Docker for Windows



System architecture



Porting Docker



Demos!
Agenda
Docker for Windows
Understanding the basics
Docker for Windows
4
What it is
It’s Docker as you know it

Same user experience

It’s Windows as you know it

Complete en...
Docker for Windows
5
What it’s not
It’s not virtualization

Docker for Windows will not run Linux images

It’s not a diffe...
System architecture
Windows Server Containers internals
System architecture
7
Basics
Abstraction layer between Docker and kernel

execdriver -> hcsshim -> vmcompute -> ???

Inter...
System architecture
8
Namespaces
Silo: extension of Windows Job object

Set of processes

Resource constraints

New: set o...
System architecture
9
Object namespace
System-level namespace, hidden from users

C:Windows maps to Global??C:Windows

Con...
System architecture
10
Filesystem
Windows applications expect NTFS semantics

Transactions, file IDs, USN journal

Buildin...
System architecture
11
Base image
Public Windows API delivered via DLLs, not syscalls

Highly dependent on RPC to system s...
System architecture
12
Hyper-V containers
New in Windows Server 2016 TP4

Docker runs on host

Launches silo in a stateles...
Porting Docker
Two worlds collide
Porting Docker
14
Microsoft contributions in numbers
319 pull requests

(+) 182,315 (-) 12,113







#4 contributor in te...
Porting Docker
15
Technical details
Go build tags

In source: // +build windows
In the filename: daemon/containers_windows...
Porting Docker
16
Future: multi-architecture images
Example: docker pull redis

What’s my executing OS?

Not just Windows,...
Demo 1
Yay!
Demo 2
A hybrid Swarm cluster
Demo
19
A hybrid Swarm cluster
Demo
20
A hybrid Swarm cluster
All components speak the Docker API

Docker daemon on Linux host

Docker daemon on Windows ...
Thank you!John Starks


john.starks@microsoft.com
Arnaud Porterie
@icecrime

arnaud@docker.com
Upcoming SlideShare
Loading in …5
×

DockerCon EU 2015 - Windows Server Containers

622 views

Published on

John Starks (Microsoft) & Arnaud Porterie (Docker) present the ongoing work to support Docker on Windows platforms using Windows Server Containers and Hyper-V Containers.

Published in: Technology
  • .DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... .DOWNLOAD PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... .DOWNLOAD doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

DockerCon EU 2015 - Windows Server Containers

  1. 1. Windows Server Containers John Starks Principal Software Engineering Lead, Microsoft Arnaud Porterie Senior Engineering Manager, Docker
  2. 2. Docker for Windows
 
 System architecture
 
 Porting Docker
 
 Demos! Agenda
  3. 3. Docker for Windows Understanding the basics
  4. 4. Docker for Windows 4 What it is It’s Docker as you know it
 Same user experience
 It’s Windows as you know it
 Complete environment inside the container
 It’s native containers
 Contained processes run on the host system
 It’s available for testing
  5. 5. Docker for Windows 5 What it’s not It’s not virtualization
 Docker for Windows will not run Linux images
 It’s not a different project / code base
 The existing Docker tree was ported
 It’s not quite finished
 Required Windows Server 2016 (currently TP3)
  6. 6. System architecture Windows Server Containers internals
  7. 7. System architecture 7 Basics Abstraction layer between Docker and kernel
 execdriver -> hcsshim -> vmcompute -> ???
 Internals generally not exposed
 Shared kernel
 Resource controls
 Namespaces
  8. 8. System architecture 8 Namespaces Silo: extension of Windows Job object
 Set of processes
 Resource constraints
 New: set of namespaces
 New namespace virtualization
 Registry
 Process IDs, sessions
 Object namespace
 File system
  9. 9. System architecture 9 Object namespace System-level namespace, hidden from users
 C:Windows maps to Global??C:Windows
 Contains all device entry points
 Global??C:
 Registry
 DeviceTcp
 Added “chroot”, one namespace per container
 ContainersfooGlobal??C:
 ContainersbarGlobal??C:
  10. 10. System architecture 10 Filesystem Windows applications expect NTFS semantics
 Transactions, file IDs, USN journal
 Building a full union FS with NTFS semantics is hard Hybrid model
 Virtual block device + NTFS partition per container
 Symlinks to layers on host FS to keep block devices small
  11. 11. System architecture 11 Base image Public Windows API delivered via DLLs, not syscalls
 Highly dependent on RPC to system services
 FROM scratch
 Windows images must derive from Windows base image
 windowsservercore – large, nearly full Win32 compatibility
 nanoserver – small, fast to boot, software may need porting
 Base images are delivered separately from Docker
  12. 12. System architecture 12 Hyper-V containers New in Windows Server 2016 TP4
 Docker runs on host
 Launches silo in a stateless, lightweight Hyper-V VM
 VM invisible to user
 Appears like a process-based container
 docker run --isolation=hyperv
 Use SMB over VMBus to provide layers, volumes
  13. 13. Porting Docker Two worlds collide
  14. 14. Porting Docker 14 Microsoft contributions in numbers 319 pull requests
 (+) 182,315 (-) 12,113
 
 
 
 #4 contributor in terms of pull requests #5 contributor in terms of lines of code
  15. 15. Porting Docker 15 Technical details Go build tags
 In source: // +build windows In the filename: daemon/containers_windows.go
 Go interfaces
 Graph driver (~ image storage)
 Execution driver
  16. 16. Porting Docker 16 Future: multi-architecture images Example: docker pull redis
 What’s my executing OS?
 Not just Windows, but also ARM, …
 Proposal: docker/distribution#1068
 A new image manifest format to support multi-arch
  17. 17. Demo 1 Yay!
  18. 18. Demo 2 A hybrid Swarm cluster
  19. 19. Demo 19 A hybrid Swarm cluster
  20. 20. Demo 20 A hybrid Swarm cluster All components speak the Docker API
 Docker daemon on Linux host
 Docker daemon on Windows host
 Swarm master (hosted on the same Linux host)
 Deploying to either is just a scheduling decision
 Using Swarm constraints mechanism
  21. 21. Thank you!John Starks 
 john.starks@microsoft.com Arnaud Porterie @icecrime
 arnaud@docker.com

×