IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Blog de Hinault Romaric (.NET Core, ASP.NET Core, Azure, DevOps)

[Actualité] Déploiement d'une application ASP.NET Core avec un conteneur Docker

Noter ce billet
par , 07/03/2017 à 01h54 (2676 Affichages)
Dans mon précédent billet, j’ai présenté comment nous pouvons déployer une application ASP.NET Core sous Linux en utilisant Nginx. Dans ce billet, nous verrons comment utiliser un conteneur Docker pour déployer notre application. Docker est une application open source permettant d’automatiser le déploiement d'applications dans des conteneurs logiciels.


La première chose à faire sera d’installer Docker en utilisant les commandes suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sudo apt-get update
sudo apt-get install lxc-docker
Pour s’assurer que Docker est installé, exécutez la commande suivante :

Ou


La création d’une application ASP.NET Core avec le générateur Yeoman ajoute par défaut à cette dernière un fichier Dockerfile. Le fichier est disponible à la racine du projet et contient les configurations nécessaires pour exécuter votre application dans un conteneur docker :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
FROM microsoft/dotnet:latest
 
COPY . /app
 
WORKDIR /app
 
RUN ["dotnet", "restore"]
 
RUN ["dotnet", "build"]
 
EXPOSE 5100/tcp
 
ENTRYPOINT ["dotnet", "run", "--server.urls", "http://0.0.0.0:5100"]
Lorsque nous allons procéder à la build de ce fichier avec Docker, une nouvelle image Docker sera créée. Cette dernière sera basée sur l’image Microsoft/dotnet. Cette image contient la dernière version du SDK .NET Core (le framework .NET Core et les outils en ligne de commande), permettant d’exécuter une application ASP.NET Core. Les fichiers du projet seront ensuite copiés dans un conteneur et ce dernier sera généré par Docker. Les commandes dotnet restore et dotnet build seront exécutés pour restaurer les packages du projet et générer ce dernier.

Puisqu’il s’agit d’une application web, le port sur lequel cette dernière doit être visible doit être défini, ainsi que son URL.

Vous devez exécuter la commande suivante dans le répertoire de votre application pour lancer la build de ce fichier, en spécifiant le nom de votre application après l’argument -t :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo docker build -t sampleapp.

Cette commande doit s'achever avec le « . »

Exécution de l’application

Vous pouvez vérifier que votre image a été créée correctement en utilisant les commandes suivantes :


Pour lancer votre application, exécutez simplement la fenêtre suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo docker run -it -p 5100:5100 sampleapp

Une fois votre application en cours d’exécution, vous pouvez ouvrir votre navigateur et saisir son adresse (http://localhost:5100/) pour obtenir un aperçu de cette dernière.

Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog Viadeo Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog Twitter Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog Google Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog Facebook Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog Digg Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog Delicious Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog MySpace Envoyer le billet « Déploiement d'une application ASP.NET Core avec un conteneur Docker » dans le blog Yahoo

Mis à jour 07/05/2017 à 21h08 par Malick

Catégories
DotNET , ASP.NET , .NET Core , ASP.NET Core MVC , Visual Studio

Commentaires

  1. Avatar de elijah509
    • |
    • permalink
    Telle qu'elle ca ne fonctionne pas si je ne m'abuse.

    J'ai du faire un (pour créer le projet, à l'image d'un par exemple) puis le lancer dotnet run avec l'option server.urls n'est pas pris en compte j'ai du ajouter un appel de méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UseUrls("http://0.0.0.0:5100")
    dans , avant l'appel de méthode .
  2. Avatar de Hinault Romaric
    • |
    • permalink
    Citation Envoyé par elijah509
    Telle qu'elle ca ne fonctionne pas si je ne m'abuse.

    J'ai du faire un (pour créer le projet, à l'image d'un par exemple) puis le lancer dotnet run avec l'option server.urls n'est pas pris en compte j'ai du ajouter un appel de méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UseUrls("http://0.0.0.0:5100")
    dans , avant l'appel de méthode .
    Bonjour,

    Dans le billet, je suppose que le lecteur dispose déjà d'une application ASP.NET Core et veut la déployer en utilisant Docker.

    Sinon, j'ai un article plus complet ici : http://rdonfack.developpez.com/tutor...re-sous-linux/