This training will teach the participants the basic mechanisms of Docker.
The skills acquired at the end of the training will be:
- Being able to think in terms of services / backing services / 12 factors
- Creating optimized Docker images
- Dockerizing an application
- Deploying an application
- Understanding what a container is (UNIX philosophy)
The content is updated regularly to always cover the latest version of Docker. The pedagogical path is presented in the form of practical work that takes place throughout the training. The focus is on best practices.
Course materials provided
The trainer will distribute the training materials in electronic format at the end of the training.
In addition, the work done during these 3 days will result in the creation of a step-by-step versioned web application. Each participant is invited to keep on their machine the code of the training project, which they will have written themselves with the help of the trainer, because this code can be used as a technical base for future projects.
In order to take full advantage of the training, participants must have previous professional experience in the following areas:
- Docker compatible environment (Linux / Windows 10+ / macOS 10.11+, or virtual machine)
- Comfortable with a UNIX environment (command line)
- Specific knowledge: basic systems and networks desired but not required
Participants should have a computer with a LAMP environment, including preferably the following elements :
- An internet connection allowing the installation of PHP extensions and packages from packagist and working with ease (if the training is held outside our premises),
- An IDE they master (PHPStorm, SublimeText, VSCode, ...),
- A UNIX shell,
- A currently supported version of PHP (https://www.php.net/supported-versions.php),
- Git installed (useful for composer dependencies),
- One MySql/MariaDB server per person,
- Administrator rights on the machine,
It is recommended for the participants to use a text editor they are comfortable with, so that they can focus on the training. It is not necessary to install Docker, this part will be covered during the training.
If the training is held in the Client's premises, we require for the Client to provide a separate room for the training to take place, big enough to accommodate all participants and the trainer, for the whole duration of the training. A video projector or wide screen TV must be provided so that the participants can see the trainer's laptop computer screen. A paperboard or whiteboard, and Internet access would be appreciated.
Introduction / Demystification of Docker
What is a container and an image?
Differences with virtualization
The advantages of a container
Setup of the environment
Hello world !
List / delete containers
Run a command in a container
Creating our own image: Dockerfile
Show activity of active containers
Images and layers
Container life cycle
Context, environment variables and arguments
Volatile containers and volumes
Type of volumes
Equivalences between docker and docker-compose commands