Docker

Résumé

Découverte de la containeurisation avec Docker. Création d’images et déploiement d’applications multi-conteneurs.

  • Durée : 3 jours
  • Prérequis : linux, bash, réseau, développement d’application.

Contexte

Le déploiement d’application est à l’interface entre le métier d’administrateur système et réseaux et celui de développeur. Les avancées dans le domaine de la conteneurisation permettent aujourd’hui de relier ces deux mondes et apporte de nouvelles possibilités : isolation accrue des briques logiciel, chaine de mise en production automatisée, reproductibilité et versionnage de l’intégralité de l’environnement, passage à l’échelle, cloud, …

Docker est le leader de la conteneurisation offrant la possibilité de créer et de partager des images, de gérer et de sécuriser des conteneurs. Cette formation, conçue pour les administrateurs système et réseaux ainsi que pour les développeurs, vous donnera les bases de la conteneurisation avec Docker et vous permettra de “conteneuriser” vos applications.

Objectifs

  • Comprendre les enjeux de la conteneurisation: apprendre l’historique de la conteneurisation, comprendre les différences avec la virtualisation et les raisons pour lesquelles la conteneurisation est souvent préférée.
  • Comprendre les mécanismes de la conteneurisation et comment elle permet l’isolation et le partage de ressources.
  • Savoir manipuler une image et lancer un container.
  • Savoir créer de nouvelles images (Dockerfile) et les partager avec d’autres utilisateurs.
  • Comprendre les bonnes pratiques.
  • Savoir concevoir et écrire un docker-compose pour le déploiement d’applications d’applications utilisant plusieurs conteneurs.

Prérequis

  • Linux : bases de l’administration d’un système (arborescence, fichiers de configuration, services)
  • Bash : commandes de base, écriture d’un script simple
  • Réseau : bases de TCP/IP (adressage, ports, routage)
  • Architecture d’une application fullstack simple (proxy, backend, frontend, base de données)

Programme

  • Jour 1 - Découverte de Docker

    • Présentation de docker : histoire, comparaison avec la virtualisation, fonctionnement, intérêt.
    • Manipulation de conteneurs (gestion du cycle de vie)
    • Image Docker et Dockerfile : concepts clés de la notion d’image, conception d’image simple, partage d’image avec un registre (dockerhub ou registre privé)
  • Jour 2 - Conteneurisation d’une application

    • Communication avec l’extérieur (Réseau, Volumes)
    • Application multi-conteneurs et docker compose
  • Jour 3 - Conteneurisation d’une application multi conteneurs

    • En partant d’une page blanche, quelle démarche pour contneuriser une application multi-conteneurs (Backend/Frontend/Base de données/Proxy)
    • Présentation d’outils de l’écosystème docker (portainer, traefik, …)
    • Lien avec gitlab (versionnage, registre gitlab, ci/cd)
    • Bonnes pratiques
Julien Robert
Julien Robert
Indépendant en ingénierie informatique

Docteur en informatique, agrégé de mathématiques, passionné de sciences et d’informatique, j’ai à coeur de mettre en oeuvre et faire évoluer et transmettre mes conpétences sur tout type de projet “stimulant” conceptuellement et / ou techniquement.