3. $ whoami
● Patrick Kleindienst
● Masters student at Stuttgart Media University, course of studies “Computer
Science & Media”
● Master’s candidate at IBM Research & Development (Böblingen)
@Apophis1990
3
4. Outline
● About LinuxKit
○ Motivation
○ Design Principles: Portability, Leanness, Security
● About Project Moby
○ Motivation
○ Diving through container history
● Demo: Moby & LinuxKit in action
4
5. LinuxKit: Motivation
“Last year, one of the most common requests we heard
from our users was to bring a Docker-native experience to
their platforms. These platforms were many and varied[.]
(...) One of the issues we encountered was that [...] users
wanted Linuxcontainer support but the platform itself did
not ship with Linux included.”
(Justin Cormack, [1])
Cloud Server Desktop
5
7. ● Released by Docker Inc. at DockerCon 2017 in Austin (Texas)
● Addresses need for secure, lean and portable Linux subsystems
● Brings native Docker and Linux container support to various platforms
● Already in use in e.g. Docker for Mac/Windows for a couple of time
7
9. LinuxKit Design Principles: Leanness
● Image core = Linux Kernel + some system libraries + container runtime
● Everything else is optional!
● Small foot print, image size ~ 35 MB
● minimal boot time
● Helps with security
9
10. LinuxKit Design Principles: Security
● container-specific OSes reduce attack surface
● less overhead -> less attack vectors (compared to popular distros like Debian)
● Isolation: optional services run inside dedicated containers
● Containerized services allow for fine-grained control of privileges and resource
consumption
● Immutable infrastructure (read-only filesystem)
10
11. Why security matters - an example
What’s so special about the “ping” binary?
# ls -l $(which ping)
-rwsr-xr-x 1 root root 44168 Mai 7 2014 /bin/ping
(taken from LinuxMint 18.1 Serena)
11
12. Ok but, … what does LinuxKit have to do with Moby?
12
13. The Moby Project
● Also released by Docker Inc. at DockerCon 2017 in Austin (Texas)
● Tribute to size and needs of the community
● Moby provides:
○ A library of containerized backend components (runC, containerd, notary, networking, …)
○ A framework for assembling these components into functional container platforms
○ A reference assembly (Moby Origin) as the base for the Docker container platform
● Building container platforms by means of containers
13
14. At the beginning (2013-2014)
Containers as a pioneer domain; monolithic opensource Docker codebase
14
15. The cloud era (2015-2016)
Massive adoption for cloud-native apps; strip down monolith into components
15
17. Future of the container ecosystem (>= 2017)
Collaboration and sharing of assemblies; Use assemblies and existing/custom
components to build specialized container platforms
17