Docker Hub

Notions théoriques
Docker Hub est une plateforme en ligne qui permet de stocker, partager et découvrir des images Docker.
- Une image Docker est un modèle contenant tout ce qui est nécessaire pour exécuter une application : le code, les dépendances, les configurations, etc.
- Les images servent de base pour créer des conteneurs.
-
Rôle de Docker Hub :
- Docker Hub est un registre public où les développeurs peuvent :
- Télécharger des images existantes.
- Publier leurs propres images pour les partager avec d'autres.
- Trouver des images officielles maintenues par Docker
ou des organisations reconnues (comme
debian,ubuntu,apache,nginx,mariadb, etc.).
- Docker Hub est un registre public où les développeurs peuvent :
-
Fonctionnalités principales de Docker Hub :
- Recherche d'images :
Vous pouvez rechercher des images pour des technologies spécifiques (ex. :
php,python,node, etc.). - Téléchargement d'images : Les images peuvent être téléchargées sur votre machine locale avec la commande
docker pull. - Publication d'images : Vous pouvez envoyer vos images sur Docker Hub avec la commande
docker push. - Automatisation : Docker Hub peut automatiser la création d'images à partir de dépôts GitHub ou Bitbucket.
- Gestion privée/public : Les images peuvent être publiques (accessibles à tous) ou privées (accessibles uniquement à vous ou à votre organisation).
- Recherche d'images :
Vous pouvez rechercher des images pour des technologies spécifiques (ex. :
-
Comptes et authentification :
-
Pour utiliser Docker Hub, rendez vous sur le site https://hub.docker.com.

-
Pour envoyer une image Docker, il est nécessaire de se créer un compte sur le site https://hub.docker.com.
-
Une fois inscrit, vous pouvez vous connecter depuis votre terminal avec
docker login.
-
-
Vous pouvez consulter les images hébergées :
-
Par exemple, pour rechercher l'image officielle du serveur Apache, il suffit de saisir :
httpd.
-
-
Commandes essentielles :
- Télécharger une image :
Exemple :
docker pull IMAGE_NAMEdocker pull nginx - Envoyer une image sur Docker Hub :
docker push USERNAME/IMAGE_NAME
infoUSERNAMEest l'identifiant que vous utilisez pour vous connecter au Docker Hub sur le site https://hub.docker.com/.- Lister les images locales :
docker images
- Télécharger une image :
-
Images officielles et vérifiées :
- Les images officielles sont maintenues par Docker ou des organisations reconnues.
- Elles sont identifiées par un badge "Official Image" sur Docker Hub.
-
Bonnes pratiques :
- Toujours vérifier les images avant de les utiliser (description, tags, nombre de téléchargements).
- Utiliser des tags spécifiques (ex. :
python:3.11) pour éviter les incompatibilités. - Supprimer régulièrement les images inutiles pour économiser de l'espace disque.
Exemple pratique
Télécharger et publier une image sur Docker Hub
Étape 1 : Télécharger une image existante
-
Ouvrez votre terminal.
-
Téléchargez l'image
nginxdepuis Docker Hub :docker pull nginx -
Vérifiez que l'image est bien téléchargée :
docker imagesRésultat attendu :
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest abc123456789 2 days ago 133MB
Étape 2 : Modifier l'image
-
Lancez un conteneur basé sur l'image
nginx:docker run -p 8080:80 -d nginxastuceNotez bien le CONTAINER_ID du conteneur.
Nous pourons ensuite entrer dans ce conteneur avec la commande :
docker exec -it CONTAINER_ID bash.Vous pouvez vérifier le bon fonctionnement du serveur Web à l'aide de votre navigateur :
http://localhost:8080.
-
Entrez dans le conteneur en cours d'exécution avec la commande :
docker exec -it CONTAINER_ID bash -
Une fois dans le conteneur, modifiez le contenu du fichier
index.html(avec la commandeecho) :echo "Hello, Docker Hub!" > /usr/share/nginx/html/index.html -
Quittez le conteneur :
exit
Étape 3 : Sauvegarder et publier l'image
-
Créez une nouvelle image à partir du conteneur :
docker commit CONTAINER_ID USERNAME/nginx-persoinfoUSERNAMEest l'identifiant que vous utilisez pour vous connecter au Docker Hub sur le site https://hub.docker.com/. -
Connectez-vous à Docker Hub :
docker login -
Publiez votre image sur Docker Hub :
docker push USERNAME/nginx-perso
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Objectif : Créer une image Docker personnalisée et la publier sur Docker Hub.
Étapes :
-
Téléchargez l'image officielle
nginxdepuis Docker Hub. -
Lancez un conteneur basé sur cette image sur le port
8080:
-
Entrez dans le conteneur en cours d'exécution avec la commande
docker exec .... -
Une fois dans le conteneur, modifiez le contenu du fichier
index.html(avec la commandeecho ...) afin que le site Web affiche :"Bienvenue sur le serveur Web de VotrePrénom VOTRENOM !".
-
Quittez le conteneur :
exit -
Sauvegardez le conteneur sous forme d'une image Docker nommée
USERNAME/nginx-perso.attentionUSERNAMEest l'identifiant que vous utilisez pour vous connecter au Docker Hub sur le site https://hub.docker.com/. -
Publiez cette image sur Docker Hub sous le nom
USERNAME/nginx-perso. -
Pour tester, lancez un conteneur basé sur votre image
USERNAME/nginx-perso. -
Vérifiez dans votre navigateur
http://localhost:8080.
-
Créez une nouvelle image à partir du conteneur :
docker commit CONTAINER_ID USERNAME/nginx-perso
-
Connectez-vous à Docker Hub :
docker login
-
Publiez votre image sur Docker Hub.
-
Vérifiez que l'image
USERNAME/nginx-persoest bien arrivée dans le Docker Hub https://hub.docker.com/repositories/.
-
Créez un autre conteneur à partir de votre image :
docker run -p 8081:80 -d USERNAME/nginx-perso
-
Vérifiez dans votre navigateur
http://localhost:8081.
Une solution
Vous devez être connecté pour voir le contenu.