DébutantNouveau

Mettre un sondage en ligne avec Docker, et le partager vraiment

  • Aucun avis
  • Débutant
  • 2 h
  • 500 crédits

Description

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.

Important
La machine de ce lab est ouverte sur Internet en HTTP, port 80 : c'est la condition du partage, et c'est le seul lab du catalogue dans ce cas. L'adresse est donc en http:// et le navigateur affichera « Non sécurisé » — c'est exact, et acceptable pour un sondage anonyme, pas pour une page où l'on saisit un mot de passe. L'adresse et les votes meurent avec la sandbox, au bout de trois heures : prévenez les personnes à qui vous envoyez le lien. Enfin, la page étant publique, n'y écrivez aucune information personnelle.
Conseil
Deux réflexes à emporter. Devant un conteneur qui ne se comporte pas comme prévu, la première commande n'est jamais docker run à nouveau, c'est docker logs : l'erreur y est écrite en toutes lettres, souvent en une seule ligne au milieu de la trace. Et avant d'ouvrir un port au hasard, demandez à l'image le port qu'elle attend (docker image inspect -f '{{ .Config.ExposedPorts }}') plutôt que de le deviner.

Compétences travaillées

  • Distinguer une image d'un conteneur, et savoir pourquoi on supprime un conteneur au lieu de le modifier
  • Comprendre qu'un conteneur est isolé par défaut, et publier un port pour le rendre joignable depuis Internet
  • Diagnostiquer avec docker logs un conteneur qui tourne mais ne fait pas ce qu'on attend
  • Faire communiquer deux conteneurs par leur nom sur un réseau Docker, sans jamais coder une adresse IP
  • Lire un Dockerfile et construire sa propre image étiquetée
  • Reconnaître ce qui se change par variable d'environnement et ce qui impose de reconstruire l'image

Technologies utilisées

  • Docker
  • Docker Hub
  • Dockerfile
  • Redis
  • Python
  • Amazon EC2

Prérequis

  • Savoir taper une commande dans un terminal et lire ce qu'elle affiche
  • Aucune connaissance de Docker n'est attendue : c'est le premier lab du parcours
  • Aucune connaissance de Python : vous lirez deux lignes de code, vous n'en écrirez aucune
  • Avoir sous la main un téléphone ou deux personnes à qui envoyer un lien
  • docker
  • conteneur
  • image
  • ports
  • reseau
En bref
Domaine
DevOps
Niveau
Débutant
Durée estimée
2 h
Sandbox
3 h, puis suppression automatique
Langue
Français
Mis à jour le
21 septembre 2026