Containerization with Docker
This workshop introduces participants to Docker and the fundamentals of containerization. You’ll learn how containers work, how they differ from virtual machines, and how to set up and use Docker to run, manage, and build containerized applications.
Introduction: What is a Container?
- Understanding containers and their benefits
- Why use containerization in modern development and operations?
Containers vs Virtual Machines (VMs)
- Key differences in architecture and performance
- Use cases: when to choose containers vs VMs
Setting Up Docker
- Installing Docker on Linux, macOS, and Windows
- Docker Desktop vs Docker Engine
- Running your first Docker command
Running Your First Container
- Docker run, exec, and logs commands
- Working with interactive and detached modes
- Pulling images from Docker Hub
Managing Containers
- Listing, stopping, restarting, and removing containers
- Understanding container lifecycle
- Using Docker Compose for multi-container apps (intro)
Containers and Storage
- Volumes vs bind mounts
- Data persistence across containers
- Managing storage for stateful applications
Building Docker Images
- Writing a Dockerfile
- Using docker build and tagging images
- Best practices in image creation
Publishing and Sharing Images
- Pushing to Docker Hub or private registry
- Image versioning and access control
- Automating builds (intro to CI/CD pipelines with Docker)