Virtualization Training



In this course you will learn how to build and manage containers.

French / English


Submit now

Next session : August


Virtualization enables you to run multiple operating systems on the hardware of a single physical server, while containerization enables you to deploy multiple applications using the same operating system on a single virtual machine or server.

Docker can package an application and its dependencies in a virtual container that can run on any Linux, Windows, or macOS computer. This enables the application to run in a variety of locations, such as on-premises, in a public cloud, and/or in a private cloud. When running on Linux, Docker uses the resource isolation features of the Linux kernel (such as cgroups and kernel namespaces) and a union-capable file system (such as OverlayFS) to allow containers to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines.Docker on macOS uses a Linux virtual machine to run the containers.



Knowledge of the Unix/Linux environment.


Describe the basic concepts of technology
Creating and debugging containers from the command line
Know how to administer containers in production
Creating and deploying multi-container applications
Setting up a clustered architecture and orchestrating it with Docker Swarm
Identify the risks and challenges inherent to Docker in order to anticipate the right solutions

Training Program

1- Introduction to Docker
- Quick wins with Docker
- Linux containers
- The basic components: namespaces and control groups
- History of the platform
- Ecosystem components: Docker Machine, Docker Compose, Docker Swarm, ...
2- First steps with Docker
- Install on your environment (Linux / MacOS / Windows)
- The docker daemon and the client/server architecture
- Introducing the Docker Hub, Docker Image Registry
- Basic commands for managing the life cycle of a container
- Supervision and debugging of containers
3- Docker images
- Union filesystem and Copy-On-Write
- Manual creation of a new image
- Creating from a Dockerfile
- Best practices and performance (caching, dockerfile writing, base images, recommended tree structure, etc.)
- Sharing and using images (Docker registry)
4- Image registers
- Use
- Docker and other ecosystem registries
- Docker Hub / Docker registry / Docker Trusted Registry
5- Data persistence with Docker
- Non-persisted data by default
- The concept of volume
- Definition in the Dockerfile or at runtime
- Bind-mount: mount a host directory in a container
6- Implementing a multi-container application
- Managing the interconnection of multiple containers with Docker Compose
- The file format defined by Docker Compose
- The docker-compose binary
- The notion of service
- Communication between different departments
- Changing the number of instances of a service
7- Continuous integration with GitLab CI and registry
- Preliminary considerations
- Setting up the system
- Persistence management
8- Orchestration with Docker Swarm
- Introduction to Docker swarm (node, service, stack, config, secret)
- The manager and worker roles
- Raft distributed consensus algorithm: log replication and quorum
- The routing mesh
- The ports used in a swarm
- Monitoring tools (Netdata, Prometheus, ELK, etc.)
- Setting up a Swarm cluster
- Global and atomic deployment of services
9- Day-to-day administration of containers
- Life cycle of a container
- Log analysis
- The network in Docker (standard, bridge, links between containers, the "physical" network, etc.)
- Docker volumes


Create and Administer its virtual application containers.

Create a custom container
Implement a multi-container application.
Build and use your own register.
Administering containers.
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar