9.1 Redécouverte de Docker Hub
Approchons-nous davantage de Docker Hub. Pour rappel, c'est le registre public principal de Docker, où les utilisateurs peuvent stocker, partager et trouver des images de conteneurs prêtes à l'emploi. La plateforme donne accès à des millions de conteneurs créés par des organisations officielles ainsi que par la communauté. Dans cette conférence, on va voir comment chercher et télécharger des images prêtes sur Docker Hub de manière efficace.
Les tâches principales du service Docker Hub
Docker Hub est un service cloud qui permet de télécharger des images dans un stockage centralisé et de les y extraire. Le service est une plateforme où les développeurs peuvent partager leurs images et utiliser les solutions créées par d'autres. Les fonctionnalités principales de Docker Hub incluent :
- Répertoires publics et privés: La possibilité de stocker des images en accès ouvert pour tout le monde ou en accès limité pour certains utilisateurs.
- Automated builds: Intégration avec des systèmes de contrôle de version comme GitHub pour la construction automatique d'images à chaque modification de code.
- Webhooks: Configuration d'actions automatiques qui s'exécutent lors de la mise à jour des images.
9.2 Recherche d'images prêtes à l'emploi
1. Utilisation de l'interface web Docker Hub
- Rendez-vous sur le site Docker Hub : ouvrez Docker Hub dans votre navigateur.
- Recherche d'images : saisissez le nom de l'image ou des mots-clés liés à votre projet dans la barre de recherche. Par exemple, pour chercher une image de Nginx, tapez "nginx" et appuyez sur Entrée.
- Affichage des résultats : les résultats de la recherche afficheront les images correspondantes. Les images officielles sont marquées comme "Official" et sont prises en charge par Docker ou par des organisations correspondantes. Les images d'autres utilisateurs indiquent le nom du compte utilisateur ou de l'organisation.
- Choisir une image : cliquez sur l'image qui vous intéresse pour consulter sa description, les tags disponibles, les instructions d'utilisation et d'autres informations utiles.
2. Recherche d'images via la ligne de commande
Docker permet également de rechercher des images directement depuis la ligne de commande avec la commande docker search
.
Exemple de commande :
docker search nginx
Cette commande affichera une liste d'images contenant nginx
dans leur nom ou leur description. La sortie indiquera le nom de l'image, sa description, le nombre d'étoiles (évaluation), le statut officiel et des informations sur les constructions automatiques.
Exemple de sortie :
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 13764 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for... 2135 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM... 819 [OK]
9.3 Télécharger des images
Une fois que tu as trouvé l'image dont tu as besoin, tu peux la télécharger sur ta machine locale en utilisant la commande docker pull
.
1. Télécharger une image spécifique
Pour télécharger une image spécifique, utilise la syntaxe suivante :
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Où :
- NAME : le nom de l'image.
- TAG : (optionnel) le tag de l'image. Par défaut, le tag
latest
est utilisé si aucun autre n'est précisé. - @DIGEST : (optionnel) l'identifiant SHA256 de l'image.
Exemple de téléchargement d'une image :
Cet exemple téléchargera la dernière image nginx
avec le tag latest
.
docker pull nginx:latest
2. Télécharger une image avec un tag spécifique
Si tu as besoin d'un tag spécifique pour l'image, ajoute-le après les deux-points. Cet exemple téléchargera l'image Ubuntu version 20.04.
docker pull ubuntu:20.04
3. Vérifier les images téléchargées
Une fois l'image téléchargée, tu peux vérifier quelles images se trouvent sur ta machine locale en utilisant la commande docker images
.
Exemple de commande :
La sortie de la commande affichera une liste de toutes les images téléchargées avec le nom du repository, le tag, l'identifiant de l'image, la date de création et la taille.
docker images
9.4 Exemples d'utilisation des images prêtes
1. Lancer un serveur web Nginx
Après avoir téléchargé une image Nginx, tu peux rapidement démarrer un conteneur basé sur elle.
Exemple :
Cet exemple démarre un conteneur Nginx
en arrière-plan et redirige le port 80 du conteneur vers le port 8080 de la machine hôte. Maintenant, tu peux accéder au serveur web Nginx
en ouvrant ton navigateur et en entrant http://localhost:8080.
docker run -d -p 8080:80 nginx
2. Lancer une base de données MySQL
Docker Hub propose des images prêtes de bases de données comme MySQL, ce qui rend le déploiement de bases de données pour le développement et les tests super facile.
Exemple :
Cet exemple démarre un conteneur MySQL, définit un mot de passe pour l'utilisateur root et redirige le port 3306 du conteneur vers le port 3306 de la machine hôte.
docker run -d -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest
3. Utiliser une image Redis pour le cache
Redis est un système de mise en cache populaire, et Docker Hub propose une image Redis prête à l'emploi qui peut être utilisée pour un déploiement rapide.
Exemple :
Cet exemple démarre un conteneur Redis et redirige le port 6379 du conteneur vers le port 6379 de la machine hôte.
docker run -d -p 6379:6379 --name my_redis redis:latest
GO TO FULL VERSION