Skip to main content

Dockeriser une application ASP .NET Core

Dockeriser une application ASP .NET Core

D'abord on build un exécutable de notre application :

dotnet publish -c Release

On crée ensuite le Dockerfile suivante à la racine du projet

# On part d'une image microsoft pour ASP .NET Core
FROM mcr.microsoft.com/dotnet/aspnet:6.0

# On copie notre résultat de publication dans le conteneur
COPY bin/Release/net6.0/publish/ App/

# On se place là où on a copié
WORKDIR /App

# On expose le port 80
EXPOSE 80

# On lance l'application
ENTRYPOINT ["dotnet", "net-web-tuto.dll"]

On peut ensuite build l'image :

docker build -t mon-image -f Dockerfile . 

Et enfin lancer l'image :

Attention, si votre base de donnée est aussi un conteneur Docker tournant sur votre machine, dans l'hote de la base de donnée, notez non pas "localhost" mais l'adresse locale de votre machine pour permettre à la connexion de loopback entre vos conteneurs.

docker run \
	-p 80:80 \ 
	-e DATABASE_HOST=<IP de votre base de donnée> \
    -e DATABASE_NAME=testdb \
    -e DATABASE_USERNAME=root \ 
    -e DATABASE_PASSWORD=monMdpTresSecret \
    -t mon-image