We are excited to announce the first talks in the curated Black Belt Track at DockerCon 2016!
Attendees of this track will learn from technical deep dives that haven’t been presented anywhere else by members of the Docker team and from the Docker community. These sessions are code and demo-heavy and light on the slides.
From Docker internals to advanced container orchestration, security and networking, this track should delight most of the container ninjas in the room.
runC: The little engine that could (run Docker containers)
with Phil Estes, Technical Lead at IBM
With the announcement of the OCI by Solomon Hykes at last summer’s DockerCon, a Docker-contributed reference implementation of the OCI spec, called runC, was born. While some of you may have tried runC or have a history of poking at the OS layer integration library to Linux namespaces, cgroups and the like (known as libcontainer), many of you may not know what runC offers. In this talk Phil Estes and Jessie Frazelle, two core Docker engine maintainers who have also contributed to libcontainer and runC, will show what’s possible using runC as a lightweight and fast runtime environment to experiment with lower-level features of the container runtime. Jessie has written a conversion tool, “riddler”, which can inspect and convert container configurations from Docker into the proper OCI configuration bundle for easy conversion between the two environments. We’ll also demonstrate how to make custom configurations for trying out security features like user namespaces and seccomp profiles.
with Ross Boucher, Founder at Playground Theory
Docker containers encapsulate everything you need to describe and run a process, but the lifecycle of a process remains the same: it starts, it runs for a while, and then it ends. This talk will demonstrate how to combine Docker with a tool called CRIU to “roll-back” running processes to an earlier state. CRIU, which stands for Checkpoint & Restore in User Space, creates a complete snapshot of the state of a process, including things like memory contents, file descriptors, and even open tcp connections. It can be used for suspending and resuming processes, or live migrating them from one machine to another. Our developer tool, Tonic, uses it to allow developers to change their code in the middle of a program without restarting from the beginning. We’ll show how we use the Docker Remote API to do this in production thousands of times a day.
with Justin Cormack, Software Engineer at Docker, Inc.
Docker for Mac and Windows were released in beta in March, and provide lots of new features that users have been clamouring for including: file system notifications, simpler file sharing, and no Virtualbox hassles.
During this talk, I will give the inside guide to how these products work. We will look at all the major components and how they fit together to make up the product. This includes a technical deep dive covering the hypervisors for OSX and Windows, the custom file sharing code, the networking, the embedded Alpine Linux distribution, and more.
containerd: Building a container supervisor
with Michael Crosby, Software Engineer at Docker, Inc.
containerd is a container supervisor that allows users to manage the lifecycle of a container as well as interact with the container while it is executing. containerd was built to fulfill many of the requirements that we expect from a modern supervisor all while staying small and fast. In this talk, we will discuss some of the design decisions that shaped containerd’s architecture that allows it to reattach to running containers if it was killed and how it is designed to start 100s containers in seconds.
with Andrey Sibiryov, Sr. Infrastructure Engineer at Uber
Go is, without doubt, a great language for writing massively concurrent programs. Nevertheless, our experience running Go under extreme load shows that there comes a point where assumptions and decisions made in Go runtime bite back on its users and lead to suboptimal performance, especially in high-throughput and high-load applications. This talk covers main reasons for this to happen and explores an interesting way to work around this issue: automatic local sharding with Docker.
Using Docker, a local load balancer and creativity, we can automatically shard & pin our apps in such a way so that the external observer (client, another microservice) would never see any difference. The result is that apps run faster, resource utilization is better and engineers are not frustrated when their Go suddenly breaks down and runs slow because they have a solution!
with Jeff Nickoloff, Founder at All in Geek Consulting
Orchestration platforms let us work with higher level ideas like services and jobs; but there is more to a platform than scheduling and service discovery. A platform is a collection of actors and APIs that work together and provide those higher level abstractions on a distributed system. In this session we’ll go deep on the architecture of open source orchestration platforms, consider scaling pains, and reveal extension points. We’ll finish with a demo of a homemade abstraction deployed on a live, multi-cloud Swarm cluster.
We strongly recommend that you register soon to secure your pass. Each previous edition of DockerCon has sold out in advance.
For those who have submitted speaking proposals: if your talk proposal gets accepted for DockerCon, we’re more than happy to provide a refund on your purchased ticket.
Learn More about Docker
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.10 Release Notes
- Subscribe to Docker Weekly
- Sign up for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Register for DockerCon 2016
- Watch DockerCon EU 2015 videos
- Start contributing to Docker