Russ Fenn and Michael Irwin have put together a four-part Docker 101 series that is designed to help you get started with Docker. This series starts at a fairly high level, but provides several deep dive insights into the internals of containers and images. The first series was offered during the summer of 2018 and there are plans to rerun the series in the future.
Note - all demos seen in the presentations are outlined in the speaker notes. So, feel free to follow along and/or try them yourself!
In this session, we start off by talking about the problem Docker is trying to solve. We then talk about images and containers and how they are different than VMs. After talking the toolset, we end off by showing an end-to-end demo of building a simple container image, pushing it to Docker Hub, and then running the application on a brand new machine.
Using Docker Compose
In this session, we begin by discussing various methods to allow containers to communicate with each other. We look at the deprecated method of container linking and after looking at networking, we realize there are a lot of flags and options to remember. Docker Compose helps solve this problem. We convert our existing application to leverage Docker Compose and also add mounts. We end off by demoing how easy it is to start developing on a project using Docker Compose.
Creating Effective Images
In this ession, we start with a deep-dive into Docker images and their layers and then moves into best practices around creating Docker images, including cleaning up as we build, the use of the build cache, and multi-stage builds.
Intro to Orchestration
In this session, we explore how the standardization of a container allows us to build higher abstractions. As an example, we dive into container orchestration, which lets us manage a fleet of machines simply by setting the expected state for the cluster. We wrap up by discussing the paradigm shift that containers provides - the idea that machines are to be viewed only as disposable compute resources. Cattle, not pets!