Overview
This 2-day hands-on training is designed for developers and DevOps engineers looking to gain a solid foundation in Docker. The course covers containerization fundamentals, Docker commands, best practices, and an introduction to Kubernetes. Participants will work with real-world scenarios to learn how to build, manage, and optimize containers efficiently.
Day 1 – Docker Fundamentals
Module 1: Introduction to Docker
- What is Docker?
- The benefits of containerization
- Docker vs. Virtual Machines
- How Docker fits into modern software development
Module 2: Getting Started with Docker
- Installing Docker
- Understanding Docker architecture (Docker Engine, CLI, Daemon)
- First steps: Running your first container
- Working with images and containers
Module 3: Core Docker Commands
- Managing containers:
run
, start
, stop
, restart
, rm
- Inspecting containers with
inspect
, logs
, stats
- Managing images:
pull
, push
, rmi
, tag
- Understanding layers and caching in Docker
Module 4: Working with Dockerfiles
- What is a Dockerfile?
- Writing and optimizing Dockerfiles
- Key instructions:
FROM
, RUN
, COPY
, ADD
, CMD
, ENTRYPOINT
, EXPOSE
, VOLUME
, ENV
, ARG
, WORKDIR
, USER
- Understanding build context and caching
- Multi-stage builds for efficient image creation
Module 5: Data Persistence in Docker
- Understanding data persistence challenges
- Using bind mounts and volumes
- The
VOLUME
instruction
- Best practices for managing persistent data
Module 6: Container Lifecycle and Process Management
- Understanding
CMD
vs. ENTRYPOINT
- Handling signals: SIGTERM and graceful shutdowns
- Container logs and troubleshooting
Day 2 – Advanced Docker & Introduction to Kubernetes
Module 7: Docker Image Management and Best Practices
- Committing changes with
docker commit
- Tagging images (
docker tag
)
- Using labels (
LABEL
)
- Optimizing images for size and performance
- Security best practices in Docker
Module 8: The Docker Registry
- Understanding image registries (Docker Hub, Harbor)
- Pushing and pulling images
- Setting up a private registry
- Registry best practices for security and efficiency
Module 9: Working with Docker Compose
- Why use
docker-compose
?
- Writing
docker-compose.yml
files
- Managing multi-container applications
- Defining services, networks, and volumes
- Best practices for using Docker Compose
Module 10: Introduction to Kubernetes
- What is Kubernetes?
- Kubernetes vs. Docker Swarm
- Key Kubernetes concepts (Pods, Deployments, Services)
- Running containers in Kubernetes
- Next steps for learning Kubernetes
Hands-on Labs & Final Project
- Lab 1: Building and running a custom Docker image
- Lab 2: Creating a multi-stage Dockerfile
- Lab 3: Managing persistent storage with volumes
- Lab 4: Deploying a multi-container app using
docker-compose
- Final Project: Containerizing an application and pushing it to a registry
Who is this training for?
- Developers looking to containerize applications
- DevOps engineers and system administrators managing containerized workloads
- IT professionals aiming to streamline CI/CD pipelines using Docker
Prerequisites
- Basic knowledge of Linux command line
- Familiarity with software development processes
Outcomes
By the end of this training, you will:
✅ Understand Docker fundamentals and core commands
✅ Build and manage containerized applications efficiently
✅ Follow best practices for creating, storing, and deploying images
✅ Use Docker Compose for multi-container applications
✅ Get a basic introduction to Kubernetes
Price
2 pax: 2000 €, 3 pax: 2420 €, 4 pax: 2800, €, 5 pax: 3140, €, 6 pax: 3440, €, 7 pax: 3690,€, 8 pax: 3900 €.
Delivery languages
English or French
Technical environment
- Virtualized infrastructure or cloud environment for labs (access details provided before the course).
- Recommended: Laptop with SSH client and modern browser installed.