This course provides essential foundational knowledge for Docker and containerization. It covers all the fundamentals of Docker including containers, Dockerfiles, volumes management, networking, and more. You will learn how to build and use containers on a Docker platform through a hands-on approach with use cases.
Introduction to containers and Docker
Containers vs. Virtual machines
What is Docker ?
What problems does Docker solve ?
Major components of Docker
Docker architecture fundamentals
Getting Started with Docker
Installating Docker on Linux/Windows/MacOS
Configuring the Docker Service
Running your first container
Getting the help with command line
Demo of a basic flow of Docker use
Working with images
Images and repositories
Structure of a Docker image
Versioning and Tags
Working with DockerHub
Managing images : listing, downloading, finding images
Working with Containers
The life cycle of a container
Launch a container with Docker Run (in mode interactive, in detached mode ...)
Interact with a container from the host (exec, inspect, logs…)
Stopping and restarting containers
Cleaning Up
Creating Custom Docker images
Introducing the Dokerfile
Instructions and images
FROM instruction
RUN instruction
Docker build and OnBuild contexts
CMD vs ENTRYPOINT
Persisting Data with Volumes
Volume types: Bind mount volumes and Docker managed volumes
Sharing volumes
The managed volume lifecycle
Backup, restore of data volumes
Data persistence best practices
Docker networking
The Docker network topology
Understanding the default network
Bridged containers
Joined containers
Inter-container dependencies
Docker Compose
Declarative environment with Docker Compose
Defining the services
Defining the volumes
Defining the networks
Docker Compose CLI
Docker Swarm mode
Swarm mode features
Setting up a Docker Swarm cluster
Managing nodes and services
Scaling an application
Troubleshooting Docker Swarm
Developers using any programming language
DevOps Engineers
IT Specialists
System administrators
Some experience of using and managing Linux, MocOS, or Windows with the command line.