asp.net-mvc
Докетирование приложения ASP.NET
Поиск…
Dockerfile и Nuget
Для докетирования приложения ASP.NET требуется файл Docker для настройки и запуска его в качестве контейнера докеров.
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"]
Файл конфигурации nuget feed помогает извлечь из правильного источника. Использование этого файла зависит от текущей конфигурации проекта и может быть изменено в соответствии с требованиями проекта.
<?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>
Поддержка POSTGRESQL.
"Data": {
"DefaultConnection": {
"ConnectionString": "Host=localhost;Username=postgres;Password=******;Database=postgres;Port=5432;Pooling=true;"
}
},
Dockerization
Необязательно иметь .NET или пакет mono-aspnet.
Важно понимать важность докетирования. Установите dotnet на ubuntu или на ОС, над которыми вы работаете.
Установка 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
Установка .NET Core SDK
$ sudo apt-get install dotnet-dev-1.0.0-preview2-003121
COURTESY: https://www.microsoft.com/net/core#ubuntu
Для установки Docker выполните, https://docs.docker.com/engine/installation/linux/ubuntulinux/
ДЛЯ ПОРТА:
Kestrel server port : 5000
Docker Deamon will listen to port :
EXPOSE 5000/tcp
Для строительства докеров:
$ sudo docker build -t myapp .
Для запуска контейнера докера:
$ sudo docker run -t -d -p 8195:5000 myapp
Для посещения сайта:
$ ifconfig
eth0 : ***.***.**
server-ip-address
Сайт будет доступен (с учетом этой конфигурации):
http://server-ip-address:8195
Докерные процессы. В нем будут перечислены текущие процессы.
$ sudo docker ps
Чтобы удалить процесс или контейнер.
$ sudo docker rm -rf <process_id>