Upload
guillaume-charmes
View
109
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
By Guillaume J. Charmes <[email protected]> @charme_gDocker version 0.6.6 / 0.7.0-rc5
Docker InternalsSF Docker Meetup at Twilio
##dockermeetup11/14/2013
This is your last chance
1. Isolation2. Images3. Process Management4. Roadmap
Isolation
• LXC• Cgroups/Namespaces• Processes• Mounts• Network
• Network• NAT (DOCKER chain)• Expose / Links
• File System• Chroot on steroids
Isolation
• Isolation: Namespaces• Only 1 syscall (setns()). No hypervisor• Mounts, Uts (hostname), Net, Pid, IPC, User
• Resource management: Cgroups• Memory Limitation• CPU Shares• Future: blkio
Isolation
• Network• Bridge• Veth• NAT• Expose / Links
• File System• Chroot++• Image management
1. Isolation2. Images3. Process Management4. Roadmap
Images
• AUFS• Image format• Base image• Layer + parent id• Whiteouts (.wh.)• Difference Image vs Container
• Registry• Future• Devicemapper• Backend interface
Images
• Why AUFS?• Production usage for years• Layers• Multiple RO layers, 1 RW -> Diff
• Limitations• 42 layers
• Whiteouts• Deletion management
Images
• Image format• Payload (layer)• Metadata (parent id)
• Image vs Container• Differences• Future: Unified format
Images
• Image sharing: Registry• Push/Pull via diffs
• Future• Backend interface / Devicemapper• Unified image format: whiteouts (.wh.)
1. Isolation2. Images3. Process Management4. Roadmap
• Docker daemon• Transports unix/tcp
internals• Attach logic• Logs
• Host Integration• Dockerfile• RUN• EXPOSE• What is the Context?
• Service Discovery
docker run
Process Management
• Docker daemon• Transports:• Holds all containers• Handles the logging
• Docker client• Everything uses the Remote API
docker –d –H tcp://127.0.0.1:4243 –H unix:///var/run/docker.sock
Process Management
Process Management
internals• Create• Start• Attach
• General Config vs Host Config• Attach protocol• TTY• Non-TTY
docker run
1. Isolation2. Images3. Process Management4. Roadmap
Roadmap
• Docker 0.7• File system backend interface
• Docker 0.8• Isolation backend interface• Full introspection
• Future• Ambassador Pattern
Conclusion
• Wide global support with backend interfaces• Service discovery improvement• Road to multi host / orchestration
www.docker.io
Thank you!