asp.net-mvc
Dockerization de l'application ASP.NET
Recherche…
Dockerfile et Nuget
La dockerisation de l'application ASP.NET nécessite un fichier Dockerfile pour la configuration et son exécution en tant que conteneur de station d'accueil.
FROM microsoft/dotnet:latest
RUN apt-get update && apt-get install sqlite3 libsqlite3-dev
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
RUN npm install && npm run postscript
RUN bower install
RUN ["dotnet", "ef", "database", "update"]
EXPOSE 5000/tcp
ENTRYPOINT ["dotnet", "run", "--server.urls", "http://0.0.0.0:5000"]
Un fichier de configuration de flux nuget permet de récupérer la source correcte. L'utilisation de ce fichier dépend de la configuration actuelle du projet et peut être adaptée aux exigences du projet de la suite.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
<packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
</configuration>
Support POSTGRESQL.
"Data": {
"DefaultConnection": {
"ConnectionString": "Host=localhost;Username=postgres;Password=******;Database=postgres;Port=5432;Pooling=true;"
}
},
Dockerisation
Il est inutile d’avoir un package .NET ou mono-aspnet.
Il est important de comprendre l'importance de la dockerisation. Installez dotnet sur Ubuntu ou le système d'exploitation sur lequel vous travaillez.
Installation de DOTNET
$ sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
$ sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
$ sudo apt-get update
Ubuntu 16.04
$ sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
$ sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
$ sudo apt-get update
Installer le SDK Core .NET
$ sudo apt-get install dotnet-dev-1.0.0-preview2-003121
COURTOISIE: https://www.microsoft.com/net/core#ubuntu
Pour l'installation de Docker, suivez https://docs.docker.com/engine/installation/linux/ubuntulinux/
POUR LE PORT:
Kestrel server port : 5000
Docker Deamon will listen to port :
EXPOSE 5000/tcp
Pour construire docker:
$ sudo docker build -t myapp .
Pour exécuter le conteneur Docker:
$ sudo docker run -t -d -p 8195:5000 myapp
Pour visiter le site:
$ ifconfig
eth0 : ***.***.**
server-ip-address
Le site sera disponible sur (compte tenu de cette configuration):
http://server-ip-address:8195
Processus Docker. Il listera les processus en cours d'exécution.
$ sudo docker ps
Pour supprimer le processus ou le conteneur.
$ sudo docker rm -rf <process_id>