DOCKER - 4 9 Exercice Créer un Dockerfile

Cet exercice pratique vous demande de « dockeriser » une application Node.js existante : créer un Dockerfile qui la fait fonctionner dans un conteneur. L'objectif est de maîtriser le workflow complet : créer un Dockerfile, le builder, tester localement, tagger, pusher sur Docker Hub, puis retélécharger et relancer l'image depuis le registre. Bien que vous n'ayez pas besoin de connaître Node.js en détail, vous devez explorer les images officielles Node.js sur Docker Hub pour comprendre comment les utiliser.

Étapes de l'exercice

  • Créer un Dockerfile : Utilisez une image officielle Node.js (version 6.x) basée sur Alpine pour minimiser la taille. Examinez la documentation Docker Hub de l'image officielle pour comprendre comment l'utiliser, puis écrivez votre propre Dockerfile en fusionnant cette image avec vos instructions (installation dépendances, copie code, exposition de ports).
  • Builder et tester : Construisez avec docker build -t myapp:1.0 ., puis lancez le conteneur localement sur un port accessible. Vérifiez que l'application répond sur localhost via votre navigateur.
  • Tagger et pusher : Créez un tag avec votre compte Docker Hub : docker tag myapp:1.0 username/myapp:1.0, puis pushez avec docker push username/myapp:1.0. Vérifiez que l'image apparaît sur Docker Hub.
  • Retélécharger et valider : Supprimez l'image locale, puis relancez le conteneur avec docker run username/myapp:1.0 pour vérifier qu'il re-télécharge depuis le registre et fonctionne correctement.

En résumé

Cet exercice pratique vous guide à travers la création d'un Dockerfile pour dockeriser une application Node.js existante. Vous apprendrez à rechercher les images officielles Docker, fusionner une image existante avec vos instructions de construction, puis tester votre conteneur localement. L'exercice culminera avec la publication de votre image sur Docker Hub et son exécution depuis le registre distant.

Points clés

  • Dockeriser une application Node.js en créant un Dockerfile personnalisé adapté à un projet existant
  • Utiliser une image officielle Node.js basée sur Alpine Linux (version 6.x) pour minimiser la taille du conteneur
  • Explorer les images officielles Docker et leurs Dockerfile sources pour comprendre les meilleures pratiques
  • Tester votre image localement en construisant le Dockerfile sans erreur et en accédant à l'application via localhost
  • Publier votre image sur Docker Hub avec un tag approprié et nettoyer le cache local
  • Valider le processus complet en réexécutant l'image depuis Docker Hub après suppression locale

Questions fréquentes

Quelle image de base dois-je utiliser pour cette application Node.js ?

Vous devez utiliser une image officielle Node.js Alpine Linux, spécifiquement une version 6.x disponible sur Docker Hub. Alpine offre une distribution Linux très légère, idéale pour minimiser la taille des images Docker.

Comment tester si mon Dockerfile fonctionne correctement ?

Construisez l'image sans erreurs à l'aide de la commande Docker build, lancez le conteneur en redirigeant les ports appropriés, puis accédez à l'application via localhost:port dans votre navigateur web pour vérifier le fonctionnement.

Quelles sont les étapes finales après le test local ?

Attribuez un nom à votre image en utilisant votre compte Docker Hub, publiez-la sur Docker Hub avec la commande push, supprimez ensuite l'image de votre cache local, puis réexécutez le conteneur en le téléchargeant directement depuis Docker Hub.