Exercice : Envoyer une image de microservice à Docker Hub
Pour que Kubernetes crée une image conteneur, il a besoin d’un emplacement à partir duquel l’obtenir. Docker Hub est un emplacement central pour charger les images Docker. De nombreux produits, y compris Kubernetes, peuvent créer des conteneurs basés sur des images dans Docker Hub.
Remarque
Vous allez effectuer cet exercice dans un codespace GitHub avec Docker et le Kit de développement logiciel (SDK) .NET préinstallé. Lorsque vous utilisez ces techniques dans votre propre environnement de développement, vérifiez que ces composants requis sont installés.
Ouvrez l’environnement de développement
Vous pouvez choisir d’utiliser un codespace GitHub qui héberge l’exercice ou effectuer l’exercice localement dans Visual Studio Code.
Pour utiliser un codespace, créez un codespace GitHub préconfiguré avec ce lien de création de codespace.
Le processus de création et de configuration du codespace par GitHub prend plusieurs minutes. Une fois terminé, le code utilisé pour le reste de ce module se trouve dans le répertoire /dotnet-kubernetes.
Pour utiliser Visual Studio Code, clonez le référentiel https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative sur votre ordinateur local. Ensuite :
- Installez les éléments système requis pour exécuter Dev Container dans Visual Studio Code.
- Vérifiez que Docker est en cours d’exécution.
- Dans une nouvelle fenêtre Visual Studio Code, ouvrez le dossier du dépôt cloné
- Appuyez sur Ctrl+Maj+P pour ouvrir la palette de commandes.
- Recherche : >Dev Containers : Regénérer et rouvrir dans un conteneur
- Sélectionnez eShopLite - dotnet-kubernetes dans la liste déroulante. Visual Studio Code crée votre conteneur de développement localement.
Vérifier les images Docker en créant des conteneurs dans le codespace
Il existe deux conteneurs dans le projet Contoso Shop. Avant d’envoyer (push) les images vers Docker Hub, nous allons les utiliser pour créer les conteneurs dans le codespace. Une fois les conteneurs créés et en cours d’exécution, nous pourrons parcourir le site web de la société Contoso et vérifier que les microservices s’exécutent correctement.
Suivez ces étapes pour créer et exécuter des conteneurs Docker dans le codespace.
Basculez vers l’onglet TERMINAL et exécutez la commande suivante pour accéder à la racine du code :
cd dotnet-kubernetes
Exécutez la commande suivante pour générer les conteneurs :
dotnet publish /p:PublishProfile=DefaultContainer
La génération des conteneurs pourrait prendre un certain temps.
Exécutez la commande suivante pour exécuter l’application et attacher les conteneurs :
docker compose up
Pour tester le service front-end, basculez vers l’onglet PORTS, puis à droite de l’adresse locale du port Front End, sélectionnez l’icône du globe. Le navigateur affiche la page d’accueil.
Sélectionnez Produits. Le catalogue affiche la marchandise de Contoso.
Fermez le site web, revenez à l’onglet TERMINAL, puis appuyez sur CTRL + C. Docker
compose
arrête les conteneurs.
Se connecter à Docker Hub
L’étape suivante du chargement des images vers Docker Hub consiste à se connecter à Docker Hub. Dans l’invite de commandes, entrez la commande suivante :
docker login
Important
Indiquez le nom d’utilisateur et le mot de passe que vous avez utilisés quand vous avez créé votre compte Docker. Vous pouvez visiter le site web Docker Hub pour réinitialiser votre mot de passe, le cas échéant.
Charger les images vers Docker Hub
Entrez le code suivant pour réétiqueter, ou renommer, les images Docker que vous avez créées sous votre nom d’utilisateur Docker.
docker tag store [YOUR DOCKER USER NAME]/storeimage docker tag products [YOUR DOCKER USER NAME]/productservice
Pour finir, chargez ou envoyez (push) les images Docker vers Docker Hub.
docker push [YOUR DOCKER USER NAME]/storeimage docker push [YOUR DOCKER USER NAME]/productservice
Si vous recevez une erreur d’authentification, vous pouvez exécuter
docker logout
suivi dedocker login
pour effectuer une nouvelle authentification.
Dans cet exercice, vous avez utilisé Dockerfiles et Docker compose pour créer deux images et conteneurs Docker, et avez poussé ces images dans Docker Hub.
Vous êtes maintenant prêt à utiliser Kubernetes pour gérer le déploiement des microservices de Contoso.