Docker – from Zero to Hero

This course provides hands-on instruction to the basics of Docker, a containerization technology that is used for running, wrapping, distributing and publishing software and workflows. During the workshop, you will learn to install, integrate and run Docker both in a sandbox and in your working environment. Variety of hands-on exercises will help you quickly grow from a beginner into a seasoned user. Docker containers provide a lightweight way for IT Operations teams to build, ship, and run any app, anywhere and we intend that this hands-on workshop will provide a friendly and welcoming environment for trying it out. People new to Docker are welcome to attend! We do suggest that attendees have some familiarity with the UNIX command line.

Part 1. Learning Docker
This section will begin the introduction to Docker. We will talk about what Docker is, explain containers and explore the key differences between server and application virtualization. Then we continue our exploration by installing the Docker Engine, exploring the key architectural components and then finally begin installing images and working with our containers.

Part 2. Docker Builds and Deployments
We will talk about building custom images by layering changes in containers and using them to commit those changes to new images. We will also demonstrate more advanced deployments using Dockerfile and how to save our images to the Docker Hub when they are ready.

Part 3. Docker Internals
Now that we have all of the basics down, we are going to start exploring the advanced features and power of the Docker Client. We will demonstrate how to link containers to each other, show process communication, explore how to script determining Container internals and more. We will also be exploring how to take control of our Docker Client command line so we can customize everything from the IP address of our Containers to how they are named.

Interactive Shell Control

Previous Container Management

Container Routing

Sharing Container Resources

Committing a Running Container (Snapshot Images)

Container Linking and Communication

Taking Control of Ports

Five Useful Docker CLI Commands

More Useful Docker CLI Commands

Optimizing Our Dockerfile Builds

Exercise: Base Image Maintenance and CleanupExercise: Exposing Container Ports to the HostExercise: Advanced Container Creation at the Command Line