Get started with Docker, one of the most popular storage solutions. Learn to build your first Docker files, along with other essential lessons for operating containers.
Overview
Syllabus
Introduction
- Diving deeper into Docker
- What you should know
- Docker recap
- Container runtimes
- OCI and CRI runtimes
- The Docker Engine
- Where are Docker's configuration files?
- When Docker Desktop doesn't cut it
- Installing Lima
- Configuring Lima
- Starting the Lima VM
- Installing Windows Subsystem for Linux (WSL)
- Installing Docker within WSL
- Visualizing your containers with Portainer
- What are Docker images?
- Diving deeper into Docker images: Part 1
- Diving deeper into Docker images: Part 2
- Storage drivers
- Decomposing Docker pull
- Configure Docker to enable debug logging
- Introduction to Dockerfiles
- The anatomy of a Dockerfile
- Sourcing other Docker images with FROM
- Building your first image
- Adding and copying files with COPY and ADD
- Updating the image
- Customizing your Docker image with RUN
- Starting your app with ENTRYPOINT
- "Starting" your app with CMD
- Adding variables with ENV and ARG
- Other helpful Dockerfile commands
- Multi-stage builds
- Multi-platform images
- Multi-app images
- Challenge: Build and run your first image
- Solution: Build and run your first image
- Extending container privileges with capabilities
- Setting container limits: Part 1
- Setting container limits: Part 2
- Configuring logging with logging drivers: Part 1
- Configuring logging with logging drivers: Part 2
- Configuring the Docker daemon
- The case for Docker in Docker
- Creating the container to run containers
- Installing Docker in the container of containers
- Limitations of Docker through Docker
- Introduction to container networking
- Creating Docker networks with bridge-mode networking
- Exposing container ports between containers
- Sharing a host's network with host mode networking
- Disabling networking with the none driver
- Advanced network drivers and network plugins
- Introduction to container storage
- How volumes work
- Creating Docker volumes
- Creating bind mounts
- Copying data from volumes
- Bind mount caveats with Docker Desktop
- Introduction to Docker registries
- Creating a simple registry
- Pushing multi-platform manifest lists
- Creating and logging into authenticated registries
- Popular alternative container image registries
- Docker best practices
- Taking it to the next level with Docker Compose
- Level up even more with Kubernetes
- Thank you
Taught by
David Davis