Prochaine session

5 jours

Inscription

Painless Docker® - extended

None

Duration

.

Audience

None

Prerequisite

None

Objectives

None

Information

Cette formation peut être dispensée en présentiel ou en distanciel.

Detailled program

Informations générales

We are really sorry this will be translated in the coming weeks ....

Formation Docker – Gestion de conteneurs d’applications

Docker est un ensemble d’outils visant à créer, héberger, et exécuter des applications dans des conteneurs. Il s’agit à la fois d’une alternative populaire à la virtualisation et d’une façon de distribuer ses applications. Ensemble ils simplifient le développement, les tests d’intégration et la production.

La formation “Docker - Gestion de conteneurs d’applications” est destinée aux développeurs et aux opérations. Elle apprend aux participants à créer des environnements isolés à partir de conteneurs définis par la communauté ou vos équipes, sur une seule ou plusieurs machines hôtes.

En plus des connaissances et mises en pratique technique, cette formation permet de mieux comprendre le paysage informatique moderne et sert de base solide pour aborder d’autres sujets, tel Kubernetes, ou renforcer une démarche DevOps.

Objectifs

A l’issue de cette formation, les participants seront capables de:

  • Comprendre le positionnement de Docker et des conteneurs dans le paysage informatique.
  • Utiliser l’interface en ligne de commande de Docker.
  • Créer des images Docker pour leurs propres applications.
  • Déployer et administrer des conteneurs sur une ou plusieurs machines et d’établir une communication entre eux.
Les participants auront également la possibilité de continuer à exploiter après la formation la définition de l’image de machine virtuelle utilisée durant la formation, ainsi que scripts, Dockerfiles et fichiers docker-compose.yml.

Format de la formation

  • La formation est donnée sous forme d’exposé magistral pour une part et est accompagnée d’exercices pratiques dans un environnement Linux. Les participants peuvent au choix utiliser leur propre ordinateur portable (voir ci-dessous pour les pré-requis) ou une machine prêtée pour l’occasion par le formateur.
  • La formation est disponible en français ou en anglais.
  • La formation est donnée en groupe de maximum 8 personnes.

Pré-requis

Pour suivre efficacement la formation, il est demandé de posséder une aptitude de base à l’administration en ligne de commande d’un système Linux.

Si vous désirez utiliser votre propre ordinateur portable lors de la formation, il vous est demandé d’installer la version la plus récente de VirtualBox et Vagrant. Si vous utilisez Windows comme système d’exploitation, installez également la version “Full” de cmder. Enfin, assurez-vous que l’accélération matérielle de la virtualisation est activée au niveau du BIOS de votre ordinateur.

Programme de la formation

Introduction

L’introduction permet de rapidement prendre connaissance de ce que sont les conteneurs mais aussi de les situer dans un univers technologique toujours plus riche.

  • Les conteneurs Linux
  • Par rapport aux machines virtuelles (avantages, inconvénients, ...)
  • Les différentes solutions de conteneurs (OpenVZ, Docker, LXC, ...)
  • Au delà des conteneurs: Kubernetes, Mesos, ...
  • Docker, Inc., la société mère
  • Tour d’horizon: Docker Toolbox, CoreOS, Rancher, ...

L’outil Docker

Cette partie aborde Docker, l’outil central, mais aussi introduit le reste de la famille Docker.

  • Les différentes incarnations de Docker (Windows containers, Docker for Mac, ...)
  • L’architecture de Docker (dockerd, docker, images, …)
  • Installation de Docker (Linux, Windows, …)
  • Les autres outils de la famille Docker (docker-compose, docker-machine, docker-stack, …)
  • Comparaison de Docker Community Edition et Enterprise Edition.

Atelier pratique: installation de Docker CE sous Linux et “Hello, world” en conteneur.

Les bases de Docker

Cette partie utilise quelques commandes de base offertes par Docker pour récupérer des images Docker officielles et les exécuter.

  • Le registre d’images Docker
  • La récupération d’une image
  • L’exécution d’une image (création d’un conteneur)
  • Description et gestion des images (layers, ...)
  • Description des conteneurs

Atelier pratique:Atelier pratique: premières manipulations d’images et conteneurs avec l’outil en ligne de commande docker.

Plus de commandes

Cette partie continue de couvrir les commandes offertes par Docker pour manipuler images et conteneurs.

Cette partie continue d’exposer la richesse offerte par Docker pour exécuter des conteneurs.

  • Différentes formes d’exécution (interactive, mode détaché)
  • Persistence des données d’un conteneur
  • Partage de données entre conteneurs
  • Exposition de ports réseaux

Atelier pratique: exécution de concert de trois conteneurs laissés au choix des participants:

  • Nginx, PHP, MySQL
  • Nginx, Python, PostgreSQL
  • Nginx, Ruby, PostgreSQL
  • Nginx, C# (.Net Core), Microsoft SQL Server

Elaboration d’images

Cette partie montre comment créer ses propres images Docker.

  • Création d’image “à la main”
  • Utilisation d’un Dockerfile
  • Utilisation de la directive FROM scratch
  • Les commandes docker history, docker save, ...
  • Optimization et bonnes pratiques

Atelier pratique: création d’images Docker et exploration de leur contenu.

Configuration multi-conteneurs, multi-noeuds

Cette partie continue sur le thème du déploiement de plusieurs conteneurs, mais cette fois avec docker-compose et le mode Swarm.

Atelier pratique: (doit encore être formalisé)

Gérer la production

Cette partie aborde les aspects de gestion de conteneurs Docker permettant leur exploitation en production.

  • Démarrer les conteneurs lorsque la machine boot
  • Monitoring
  • Limitation des ressources
  • Gestion des logs

Atelier pratique: configuration de dockerd et autres options d’exécution de docker run.

Machine virtuelle

Cette partie optionnelle couvre la création d’une machine virtuelle avec Packer, Vagrant et VirtualBox. Cette technique remplace avantageusement des solutions comme Docker Desktop.

  • Création d’une configuration pour Packer
  • Construction d’une image pour VirtualBox
  • Création d’une configuration pour Vagrant
  • Créer et gérer une machine virtuelle avec Vagrant
  • Configuration Vagrant multi-machines

Atelier pratique: création d’une image de machine virtuelle avec Packer et exécution de cette image avec Vagrant et VirtualBox.

Discussion

Cette partie donne des pistes de réflexion sur le contenu vu durant la formation, invitant les partiçipants à garder un regard critique sur les technologies apprises.

  • Docker comme outil de provisioning: provisioner Docker CE sur une machine, pour ensuite déployer une application, ou bien provisioner directement une application ?
  • Quels autres outils pour provisioner une machine ?
  • Docker comme format de packaging: pourquoi utiliser des .deb ou .apk dans un Dockerfile ?
  • Quels autres formats de packaging ?

Autres ...

Non-couvert

La formation, bien que déjà très fournie, elle ne peut tout couvrir. Néanmoins pour satisfaire les plus curieux, nous listons ici quelques sujets pertinents sur le thème des conteneurs.

  • Zones Illumos
  • Jails FreeBSD
  • Unikernels
  • Kata containers
  • Firecracker
  • Reverse proxy, load balancing, service mesh, ...
  • CRIU
  • ...

On-premice, On-site, On-time, On-duty, ....

Ce genre de formation se prête particulièrement bien sur site afin que toute l'équipe DevOps maitrise bien Docker. En combinant la formation avec un package de 5, 10, ... jours de consultance. Vous pouvez bénéficier de l'aide d'un EXPERT pour vous aider avec les problèmes les plus ardus ou les questions stratégiques. Demander nous pour de plus amples informations.



Painless Docker® - extended

Interrested by this training ? Please contact us for more details.