Learning path

Docker : de la première image à la production

  • 4 labs
  • 6 h 10 min
  • Beginner → Intermediate

Jeudi soir, Radio Akwa, à Douala. Ernest lance son sondage de la semaine à l'antenne, et le standard tombe en vingt minutes. Il ne vous demande pas une application : il demande une adresse à donner aux auditeurs. Quatre missions suivent ce sondage, de la première image à la nuit de la finale : le mettre en ligne et y poser votre propre question, ne plus perdre un seul vote quand un conteneur est remplacé, tout relancer en une commande avec Compose, puis le remettre debout au matin d'une coupure de courant et le servir sur une seule adresse derrière Nginx. Chaque lab part d'une panne réelle, que vous diagnostiquez avec les outils du métier (docker logs, docker inspect, les codes de sortie) avant de la corriger. Et à chaque fois, vos proches votent pour de vrai depuis leur téléphone.

The steps

  1. Step 1
    BeginnerIn French

    Docker : conteneuriser une application et la mettre en ligne

    Jeudi soir, Radio Akwa à Douala. L'animateur lance son sondage de la semaine à l'antenne, et le standard tombe en vingt minutes : trois cents appels pour départager deux plats. À la fin de l'émission, il n'a aucun chiffre à annoncer. Il dit « c'est serré », et il passe à la musique. Il ne vous demande pas une application. Il demande une adresse à donner à l'antenne, que les auditeurs tapent sur leur téléphone. Vous n'avez jamais lancé un conteneur. Vous allez en lancer un, échouer à le joindre, comprendre pourquoi, ouvrir le port qu'il faut, découvrir dans les journaux qu'il lui manque une seconde machine, brancher les deux sur un réseau, puis remplacer la question par la vôtre : d'abord sans rien reconstruire, ensuite en construisant votre première image. À la fin de la séance, vous envoyez l'adresse à deux ou trois personnes que vous connaissez, et vous regardez le compteur de votes monter pendant qu'elles cliquent. C'est la seule façon honnête de vérifier qu'une application est en ligne.

    • No reviews yet
    • Beginner
    • 1 h 30 min
    • 500 credits
    • First lab free
  2. Step 2
    BeginnerIn French

    Docker : volumes et persistance des données d'une application

    Lundi matin, Radio Akwa à Douala. Trente auditeurs ont voté au sondage d'Ernest, et Samuel, le technicien, doit passer Redis à sa nouvelle version. Il applique la bonne méthode : on ne modifie pas un conteneur, on le remplace. Les trente votes disparaissent. Vous allez comprendre où ils étaient, donner des volumes nommés à Redis puis à PostgreSQL, et découvrir qu'un volume ne garde que ce que l'application a vraiment écrit sur le disque. Vous monterez la chaîne complète du sondage, file d'attente, worker, base et page de résultats, en diagnostiquant un conteneur qui tourne sans travailler et une base qui s'arrête aussitôt lancée. À la fin, Ernest a une page de résultats qui bouge en direct pendant que vos proches votent, une base qui survit à la suppression de son conteneur, et une sauvegarde rangée.

    • No reviews yet
    • Beginner
    • 1 h 30 min
    • 500 credits
    • First lab free
  3. Step 3
    BeginnerIn French

    Docker Compose : lancer une application multi-conteneurs

    Mercredi, Radio Akwa à Douala. Deux cents votes pour la demi-finale, et la page des résultats à l'antenne. Mais Samuel, le technicien, part en congé, et c'est lui qui relance le sondage : un script de cinq commandes à taper dans le bon ordre, avec le mot de passe de la base écrit en clair. Vous allez le remplacer par un fichier compose.yaml et une seule commande. En chemin, vous rencontrerez les deux pannes classiques d'une première mise sous Compose : le port déjà pris, puis une base vide, alors que les deux cents votes dorment intacts dans un volume que plus personne n'utilise. Vous sortirez le mot de passe dans un fichier .env et ordonnerez le démarrage sur la santé réelle de la base. À la fin, Ernest relance tout le sondage lui-même, en une commande, sans rien perdre.

    • No reviews yet
    • Beginner
    • 1 h 30 min
    • 500 credits
    • First lab free
  4. Step 4
    GeneralIn French

    Docker en production : restaurer, redémarrer, Nginx en frontal

    Vendredi matin, Radio Akwa à Douala. La finale a rapporté plus de mille votes, puis une coupure de courant a tout arrêté vers trois heures. Au matin, plus rien ne répond, et Junior, le neveu d'Ernest, a voulu réparer : il a supprimé la base et son volume, puis ajouté une limite de mémoire trouvée sur un forum. Vous allez restaurer la base à partir de la sauvegarde de mercredi, dans le bon ordre, et regarder en face ce qu'elle ne contient pas. Vous diagnostiquerez un worker tué sans un mot (code 137), trouverez le gigaoctet de journaux que docker system df ne montre pas, et rendrez la pile autonome face à la prochaine coupure. Pour finir, Nginx prend la place de tous les ports : le vote et les résultats sur une seule adresse, celle qu'on imprime sur une affiche. Une page qui s'affiche vide vous apprendra à lire le journal d'un reverse proxy.

    • No reviews yet
    • Intermediate
    • 1 h 40 min
    • 750 credits
    • First lab free