docker: the road ahead
DESCRIPTION
Solomon Hykes at Dockercon 14 presenting Docker's philosophy and roadmap, and introducing new components of the platform.TRANSCRIPT
![Page 1: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/1.jpg)
Docker: the road ahead
![Page 2: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/2.jpg)
So... what do we do now?aka
![Page 3: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/3.jpg)
Why are we here?
![Page 4: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/4.jpg)
![Page 5: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/5.jpg)
![Page 6: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/6.jpg)
![Page 7: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/7.jpg)
![Page 8: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/8.jpg)
We have a blueprint
![Page 9: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/9.jpg)
“My thought in the 70s was that the Internet was a really good scalable design, and we should make a virtual internet of virtual machines that could be cached by the hardware machines.
It’s really too bad this didn’t happen
Alan Kay
![Page 10: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/10.jpg)
Upgrade the Internettime to
![Page 11: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/11.jpg)
We have the technologybandwidth, storage, compute, sandboxing,
crypto, compression, copy-on-write filesystems, paxos/raft...
![Page 12: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/12.jpg)
We have standard interfaces
Time to fix this!
![Page 13: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/13.jpg)
It’s getting people to agree on something
The real value of Docker is not technology
![Page 14: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/14.jpg)
1. Packaging and distribution
![Page 15: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/15.jpg)
2. Sandboxing
![Page 16: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/16.jpg)
libcontainerA standard interface to OS sandboxing
namespaces, cgroups, capabilities, netlink, selinux, apparmor
Core Docker component...But also usable standalone
![Page 17: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/17.jpg)
libcontainerA standard interface to OS sandboxing
A few announcements.
![Page 18: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/18.jpg)
libcontainer
github.com/docker/libcontainer
Now a standalone project
#libcontainer on Freenode
![Page 19: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/19.jpg)
libcontainer
Contributing SELinux and systemd integration
Welcome Dan and Alex!
![Page 20: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/20.jpg)
libcontainer
Joining as core maintainers
Welcome Victor and Rohit!
![Page 21: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/21.jpg)
libcontainer
Contributing C implementation and OpenVZ support
Welcome Pavel and John!
![Page 22: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/22.jpg)
libcontainer
collaborating on unified cgroup interface
Welcome Serge!
& LXC
![Page 23: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/23.jpg)
libcontainer
Join the fun!github.com/docker/libcontainer
#libcontainer on Freenode
![Page 24: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/24.jpg)
3.Networking
![Page 25: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/25.jpg)
libchana lightweight communication
protocol for distributed systems
![Page 26: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/26.jpg)
libchanLike Go channels over the network
Simple message passing
Synchronization without sharing state
Raw socket passing: channels as gateways to any other protocol
Nesting: channels can send channels
![Page 27: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/27.jpg)
libchanAvailable transports:SPDY/TLS,websocket,raw TCP,high-perf unix sockets (with fd passing),in-memory go channels.
Designed to be simple and portable
![Page 28: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/28.jpg)
libchan
A standard communication layer for Docker:
internal components, plugins,inter-container communication.
![Page 29: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/29.jpg)
libchan
github.com/docker/libchan
![Page 30: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/30.jpg)
4. Orchestration
![Page 31: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/31.jpg)
Docker API
![Page 32: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/32.jpg)
![Page 33: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/33.jpg)
Shipper
![Page 34: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/34.jpg)
Shipper Mesosor
![Page 35: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/35.jpg)
Shipper or Mesos or Coreos/FleetGeardor
![Page 36: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/36.jpg)
Shipper or Mesos or Coreos/FleetGeardor
or or orConsul Helios Centurion
![Page 37: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/37.jpg)
Shipper or Mesos or Coreos/FleetGeardor
or or orConsul Helios Centurion
EC2 Rackspace GCE Orchard Tutum
![Page 38: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/38.jpg)
Shipper or Mesos or Coreos/FleetGeardor
or or orConsul Helios Centurion
EC2 Rackspace GCE Orchard Tutum
![Page 39: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/39.jpg)
libswarmA minimalist toolkit
to compose network services
![Page 40: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/40.jpg)
libswarmA standard interface to combine and organize
services in a distributed system.
Compose complex architectures from standard building blocks
Avoid vendor lock-in by swapping any service out with another
Pick services from a built-in library, or write your own with a simple API.
![Page 41: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/41.jpg)
libswarmCommunity-contributed adapters:
Docker server & clientMesos
Atomic / geardFleet / etcd
OrchardGoogle cloud
Rackspace cloudTutum.comShipyard
TLS tunnel
![Page 42: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/42.jpg)
libswarmFirst-class Docker compatibility
If you develop on libswarm, we guarantee compatibility with the
Docker ecosystem.
![Page 43: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/43.jpg)
libswarm
github.com/docker/libswarm
![Page 44: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/44.jpg)
libcontainer libchan
libswarm
![Page 45: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/45.jpg)
What’s next?
![Page 46: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/46.jpg)
5. Identity
![Page 47: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/47.jpg)
6. Authorization
![Page 48: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/48.jpg)
Coming soon!
“But I need it naow!”Come say hi, maybe we can hook you up
![Page 49: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/49.jpg)
![Page 50: Docker: the road ahead](https://reader033.vdocuments.mx/reader033/viewer/2022050918/53f8cb2d8d7f72b82e8b4832/html5/thumbnails/50.jpg)
Let’s go build it!
Happy hacking!Drawings by @laurelcomics
#docker-dev on Freenode