Course Description
Learn or consolidate container concepts: run and manage containers with Docker; write and optimize Dockerfiles to build container images. These learning modules are focused on leveraging containers in development environments. They also constitute an excellent foundation for folks who need to work with Kubernetes but haven’t worked with containers before.
Course Structure and Lab Environment
Each day is organized as follows:
- 2 hours of instructor-led training (11 am - 1 pm Eastern)
- 1 hour of break
- 2 hours of instructor-led training (2 pm - 4 pm Eastern)
- Hands-on labs and exercises (after 4 pm Eastern)
Each student gets their own individual environments for the hands-on labs. During the hands-on labs, the instructors are available to provide 1:1 help to the students if necessary.
Exercises and hands-on labs included:
Day 1: Writing Dockerfiles for a sample multi-tier app including Java, Go, and Postgres
Day 2: Running the sample app with Compose, connecting and exposing containers
Day 3: Optimizing Dockerfiles to leverage multi-stage builds and other techniques
Day 4: No hands-on lab this day since we will be covering advanced concepts
Course Outline
Day 1
Getting Started
- Starting and stopping containers
- Foreground vs background
- Containers, images, and layers
Building Images
- Interactive builds
- Writing Dockerfiles
- CMD vs ENTRYPOINT
- Copying files during the build
- The build cache
Day 2
Container Networking
- Exposing container ports
- Docker networks
- Service discovery
Developing with Containers
- Setting up containerized environments
- Working with volumes
- Docker Compose
Day 3
Container Lifecycle
- Naming and inspecting containers
- Handling signals properly
- Troubleshooting containers
Optimizing Images
- Reducing image size
- Multi-stage builds
- Tips for efficient Dockerfiles
- Dockerfile examples and best practices
Day 4
Container Internals
- Kernel namespaces
- Control groups
- Security features
Advanced Builds
- BuildKit
- Multi-arch builds
Advanced Networking
- Host networking
- Container network sharing
Important: Instructions to view the recording will be sent upon completion of each session.