Intensive Docker Bootstrap Training

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.