Formation Docker

Publié le

23 sept. 2021

Docker_XS.jpg

Objectifs de la formation

Faire acquérir aux participants les connaissances des mécanismes de base de Docker.
Les compétences acquises à l’issue de la formation seront :

  • Savoir penser en terme de services / backing services / 12 factors
  • Créer des images docker optimisées
  • Dockerizer une application
  • Déployer une application
  • Comprendre ce qu'est réellement un container (UNIX philosophy)

Description de la formation

  • Le contenu est actualisé régulièrement afin de toujours couvrir la dernière version de Docker.
  • Le parcours pédagogique se présente sous la forme de travaux pratiques qui ont lieu tout au long de la formation.
  • L'accent est mis sur les bonnes pratiques.

Programme

Introduction / Démystification de Docker

  • D’où vient Docker?
  • Qu’est-ce qu’un container, une image?
  • Sur quoi est-il basé (cgroups / namespaces Linux)
  • Quelle est la différence entre un container et une VM ?
  • Les possibilités (iso dev-prod, déploiement, scalabilité, meilleure séparation des services / design architecture / sécurité)

Première prise en main / Installation

  • Linux / Docker for Windows / Docker for Mac (un mot sur Toolbox, déprécié)
  • Commandes de bases (image, ps, run, stop, rm, exec)
  • Premier build / Premier run (différence entre service one-shot / long-time running)
  • Docker Hub / docker pull

Gestion des données

  • Explication layers (cache, overlayfs)
  • Différentes utilisations des volumes (volumes nommés, bind-mounts, shared volumes)
  • Différents drivers / stockage des volumes
  • Lifecycle containers (court) / volumes (long)

Utilisation des images

  • Détail du process de build, explication sur le cache des layers
  • Envoi du contexte + COPY / ADD + ARG + LABEL
  • .dockerignore
  • Exemples d’images officielles / HelloWorld dans la techno souhaitée
  • Registres privés
  • Comment écrire des images efficientes en exploitant le cache des layers
  • Alpine : utilisation des virtual packages de apk
  • Builder pattern et multi-stage build

Deuxième prise en main / docker-compose

  • Installation de docker-compose
  • Introduction (mode projet, services, format YAML)
  • Commandes de base / analogie avec les commandes Docker traditionnelles (up, exec, run, stop, rm, logs, build)
  • Gestion de la configuration des services : variables d’environnement / secrets
  • Modifier le code sans avoir à rebuilder continuellement (volumes en dev)
  • Réutilisation automatique des volumes précédents

Networking

  • Comment fonctionne la communication inter-container? (DNS interne)
  • Publication de port (+ exemple pratique)
  • Binding de port sur le host (+ exemple pratique)
  • Différents types de drivers network (host, bridge, overlay)
  • Cas de docker-compose (sous-réseaux, DNS, réseaux externes) / section networks dans Docker-compose.yml

CI / Déploiement

  • Services SaaS / IaaS / PaaS (Docker Cloud, AWS, GCE…)
  • Gestion multi-environnements avec Compose (extends, override, docker-compose.yml séparés)
  • Docker push
  • Workflow déploiement continu
  • Docker-machine / provisioning de la target
  • Pilotage de Docker par outils externes (Ansible, Puppet, Capistrano…)
  • Swarm cluster
  • Stack deploy
  • docker-compose.yml v3

Inconvénients / limitations

  • Isolation et non pas virtualisation ( kernel + modules partagés)
  • Docker for mac (osxFS est lent s’il y a beaucoup de fichiers)
  • Communication avec le host / BIP et CIDR
  • Debugging / tooling
  • Coût de la veille dû à l’évolution rapide du produit
  • Vendor lock-in ?

Informations budget

  • 3 jours (21 heures)
  • Intra-entreprise : nous nous déplaçons chez vous pour former votre équipe (3 ~ 8 participants) 4200 € HT + frais (déplacement, hébergement, etc.)
  • Inter-entreprises : inscrivez-vous aux sessions que nous organisons à Nantes ou ailleurs ! 1490 € HT par personne

Mais comment financer ma formation ?

Nous sommes datadockés, ainsi votre formation peut être prise en charge par votre OPCO en totalité (ou partiellement selon votre budget formation disponible) ! Renseignez-vous auprès de votre OPCO pour une prise en charge partielle ou totale du coût de la formation. En cas de subrogation, pas d'avance de trésorerie, KNP Labs peut facturer directement votre OPCO !
Si vous avez des doutes ou des besoins particuliers, vous pouvez contacter Amandine, notre responsable formations => hello@knplabs.com.

Publié par

Eve Vinclair-Berkemeier
Eve Vinclair-Berkemeier

People Manager @ KNPLabs

Scrum Mistress - AFOL at home and at work :D Helping hand for client projects and internal organization of our teams at KNP.

Commentaires