L'un des principaux avantages de Docker est qu'il vous permet d'exécuter des projets logiciels sans avoir besoin de configurer des environnements de développement complexes.

Ce guide vous montrera comment créer une image Docker d'une API Web .NET 5. Vous pouvez ensuite utiliser l'image pour exécuter le code backend à partir de n'importe quel PC sur lequel Docker est installé et interagir avec l'API à partir de votre projet Web frontal ou d'une application mobile.

Création d'une API Web .NET 5

Docker et .NET 5 sont tous deux open source et multiplateformes, vous pouvez donc suivre ce guide que vous utilisiez macOS, Windows ou Linux.

Utilisez l'interface de ligne de commande dotnet pour créer un projet d'API Web ASP.NET avec la commande suivante:

 dotnet nouveau webapi -o aspdockerapi 

La commande ci-dessus crée un projet nommé aspdockerapi et le place dans un dossier portant le même nom. En outre, l'application échafaude un contrôleur d'API avec des exemples de données de prévisions météorologiques.

instagram viewer

Noter: Si .NET 5 n'est pas installé sur votre PC, vous pouvez le télécharger à partir du lien ci-dessous.

Télécharger: .NET 5 pour Windows, macOS et Linux

Une fois le projet créé, vous pouvez accéder au dossier racine du projet à l'aide de la commande suivante.

cd aspdockerapi

Vous pouvez exécuter et diffuser l'API Web à l'aide de la commande ci-dessous.

 course dotnet 

Par défaut, l'application sera servie sur le port 5001. Vous pouvez afficher les exemples de données de l'application dans votre navigateur à l'URL suivante: https://localhost: 5001/prévision météorologique et les données des API doivent ressembler à ci-dessous.

Apprendre encore plus: Qu'est-ce qu'une API ?

Création d'instructions d'image Docker

Pour créer une image Docker, vous devez donner au moteur Docker quelques instructions sur la façon de la créer. Ces instructions doivent être placées dans un fichier nommé Dockerfile. Notez que le fichier n'a pas d'extension.

Utilisez la commande suivante pour créer le Dockerfile dans le dossier racine de votre projet d'application.

toucher Dockerfile

Après avoir créé le Dockerfile, la structure de vos dossiers de projets doit être similaire à celle ci-dessous:

Maintenant, copiez et collez le code ci-dessous dans votre Dockerfile.

DE mcr.microsoft.com/dotnet/aspnet: base AS à focale 5,0
WORKDIR /app
EXPOSE 80
DE mcr.microsoft.com/dotnet/sdk: version d'AS 5.0 focale
WORKDIR /src
COPIER ["aspdockerapi.csproj", "./"]
EXÉCUTER la restauration dotnet "./aspdockerapi.csproj"
COPIE. .
WORKDIR "/src/."
RUN dotnet build "aspdockerapi.csproj" -c Release -o /app/build
FROM build AS publier
RUN dotnet publish "aspdockerapi.csproj" -c Release -o /app/publish
DE LA base À la finale
WORKDIR /app
COPIER --from=publish /app/publish .
POINT D'ENTRÉE ["dotnet", "aspdockerapi.dll"]

Noter: Dans le Dockerfile ci-dessus, les noms de projet et de dll sont aspdockerapi.csproj et aspdockerapi.dll respectivement, si votre projet a un nom différent, assurez-vous de mettre à jour votre Dockerfile avec les noms corrects.

Comprendre les instructions Dockerfile

le Dockerfile est principalement composé de mots-clés Dockerfile, qui par convention sont des mots en majuscules. Les mots-clés spécifient l'instruction à exécuter dans chaque couche de l'image Docker. Vous trouverez ci-dessous les principaux mots-clés Docker utilisés par le Dockerfile ci-dessus.

1. DE

le DE mot-clé spécifie l'image de base sur laquelle nous voulons que notre image soit construite. Dans le Dockerfile ci-dessus, l'image de base initiale est une image .NET 5 de Microsoft. L'image de base .NET 5 contient les composants nécessaires à l'exécution de l'application.

2. WORKDIR

WORKDIR définit le répertoire de travail ou le contexte à l'intérieur de l'image. Dans cet exemple, le /app répertoire est affecté comme répertoire de travail racine par défaut à l'aide de l'instruction suivante WORKDIR /app.

3. COPIE

le COPIE mot-clé copie simplement le contenu d'un dossier et le place dans un autre. Dans cet exemple, il est initialement utilisé pour copier le fichier principal du projet, c'est-à-dire aspdockerapi.csproj dans le répertoire de travail des images.

4. COURS

le COURS Le mot-clé est utilisé pour exécuter une commande Linux spécifique dans une image Docker. Dans le Dockerfile au dessus de COURS La commande est utilisée pour restaurer les dépendances, générer le projet ASP.NET et publier le projet.

5. CMD

le CMD mot-clé est un peu similaire au COURS mot-clé discuté ci-dessus. Il est également utilisé pour exécuter une commande Linux, mais contrairement au COURS mot-clé qui exécute des commandes pour construire l'image, le CMD Le mot-clé est utilisé pour exécuter des commandes Linux au démarrage de l'image, dans une instance de conteneur.

6.EXPOSER

le EXPOSER Le mot-clé est utilisé pour exposer un port à l'intérieur de l'image Docker au monde extérieur. Dans ce cas, l'image expose le port 80, qui est utilisé pour exposer l'API lors de l'exécution du conteneur Docker.

Construire l'image Docker

Pour créer l'image Docker basée sur le Dockerfile, exécutez simplement la commande suivante dans le dossier racine du projet, c'est-à-dire là où le Dockerfile est placé.

docker build -t dockerwebapi -f Dockerfile .

La commande ci-dessus balise l'image Docker avec le nom dockerwebapi et précise également que les instructions pour construire cette image sont dans le Dockerfile.

Une fois la création de l'image terminée, vous pouvez vérifier si elle est répertoriée en tant qu'image Docker locale à l'aide de la commande suivante:

images docker

La sortie de la commande ci-dessus doit être similaire à celle ci-dessous, et l'image (dockerwebapi) apparaît sur la première ligne dans ce cas.

Si Docker n'est pas installé sur votre PC, voici comment installer docker sur Ubuntu Linux, sinon utilisez le lien ci-dessous pour télécharger et installer Docker.

Télécharger: Guide de téléchargement et d'installation de Docker

Exécuter l'image Docker

Pour exécuter l'image Docker nouvellement créée, utilisez la commande suivante. le -ti L'option spécifie que l'image doit être exécutée en mode terminal interactif, et --rm spécifie que le conteneur doit être retiré immédiatement après sa sortie.

docker run -ti --rm -p 8080:80 dockerwebapi

De plus, la commande spécifie que le conteneur Docker doit s'exécuter sur le port HTTP 8080, qui correspond au port 80 à l'intérieur du conteneur.

Accédez à l'URL: http://localhost: 8080/Prévision météorologique dans votre navigateur et vous trouverez vos données API servies à partir de l'instance Docker que vous exécutez.

Pourquoi utiliser Docker ?

Ce guide vous a montré comment créer une image Docker d'une API Web .NET 5.

Avec Docker, vous pouvez automatiser le déploiement de vos applications, simplifier la configuration des environnements de développement logiciel et faciliter la collaboration avec d'autres ingénieurs logiciels.

Docker offre également plusieurs avantages par rapport aux autres technologies de virtualisation, c'est pourquoi vous devriez probablement envisager de l'utiliser dans vos projets d'ingénierie logicielle.

E-mail
6 raisons d'utiliser le logiciel de virtualisation Docker

Docker offre de nombreux avantages par rapport à une machine virtuelle, voici les raisons de commencer à l'utiliser dès aujourd'hui.

Lire la suite

Rubriques connexes
  • Programmation
  • Développement web
  • Docker
  • ASP.NET
A propos de l'auteur
Mwiza Kumwenda (26 articles publiés)

Mwiza développe des logiciels par profession et écrit abondamment sur Linux et la programmation frontale. Certains de ses intérêts incluent l'histoire, l'économie, la politique et l'architecture d'entreprise.

Plus de Mwiza Kumwenda

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Un pas de plus…!

Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.

.