Containers Demystified! - Hands-on approach to understanding container mechanics, standards, and tooling.
A container is a software unit that packages up code, dependencies, configuration, and environments as a self-contained application. Containers provide the benefits of being portable and running with minimal overhead across different computing platforms.
Containers are everywhere from Docker to Kubernetes, but getting started can be overwhelming, as you struggle to understand all of the related technologies and how to make the best use of them. To get the most out of them, you need to understand how containers are constructed, how they depend on and interact with the operating system, and how the various tools for working with and creating containers differ.
Topics to be discussed in this workshop include:
Section 1: Understanding the basics
In this section, we'll cover:
• What containers are and the benefits they provide
• How containers are constructed
• The differences between layers, images, and containers
• What does immutability really mean
Lab #1: Creating images
Section 2: Exploring Docker
• The core Linux functionalities that containers are based on
• How containers reuse code
• The differences between containers and VMs
• What Docker really does
• The most common Docker commands you need to know
Lab #2: Making images work together
Section 3: Debugging containers
• The tools available for debugging
• Recommended approaches and practices
• How to get inside of a container and figure out what's going on
Lab #3: Debugging Docker Containers
Section 4: Diving Deeper
• Mapping layers to the file system
• Storage drivers
• Overlay file system and Docker
Lab #4: Mapping Docker images and containers with the filesystem
Section 5: Container standards, runtimes, and tools
• Open Container Initiative (OCI)
• Kubernetes Container Runtime Interface (CRI)
• Runtimes and engines: containerd, CRI-O, runC, dockerd
• Podman as an alternative to Docker
• Creating pods with Podman
Lab #5: Working with Podman
Section 6: Building images without Docker
• Scripting builds
• Buildah as an alternative for building images
• Using podman and buildah together
Section 7: Closing thoughts
About Brent Laster
Hi, I'm Brent Laster - a global trainer and book author, experienced corporate technology developer and leader, and founder and president of Tech Skills Transformations LLC. I've been working with and presenting at NFJS events for many years now and it is always exciting and interesting.
Through my decades in programming and management,I've always tried to make time to learn and develop both technical and leadership skills and share them with others Regardless of the topic or technology, my belief is that there is no substitute for the excitement and sense of potential that come from providing others with the knowledge they need to help them accomplish their goals.
In my spare time, I hang out with my wife Anne-Marie, 4 children and 2 small dogs in Cary, North Carolina where I design and conduct trainings and write books. You can find me on LinkedIn (linkedin.com/in/brentlaster), Twitter (@brentclaster) or through my company's website at www.getskillsnow.com.
More About Brent »