chatbot/Chatbot.Api/Dockerfile

41 lines
1.4 KiB
Docker

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY dependencies.props .
COPY Directory.Build.props .
COPY NuGet.config .
COPY ["Chatbot.Api/Chatbot.Api.csproj", "Chatbot.Api/"]
COPY ["Chatbot.Api.Domain.Data/Chatbot.Api.Domain.Data.csproj", "Chatbot.Api.Domain.Data/"]
COPY ["Chatbot.Api.Domain/Chatbot.Api.Domain.csproj", "Chatbot.Api.Domain/"]
COPY ["Chatbot.Api.Application/Chatbot.Api.Application.csproj", "Chatbot.Api.Application/"]
RUN dotnet restore "Chatbot.Api/Chatbot.Api.csproj"
COPY . .
WORKDIR "/src/Chatbot.Api"
RUN dotnet build "Chatbot.Api.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Chatbot.Api.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENV urls="http://*:80"
ENV TZ=Europe/Bucharest
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ARG APP_VERSION=0.0.0.0
ENV APP_VERSION=${APP_VERSION}
ARG DATABASE_CONNECTION
ENV ConnectionStrings__DatabaseConnection=${DATABASE_CONNECTION}
#Workaround to lower the TLS level in container for old sql server version
RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf
ENTRYPOINT ["dotnet", "Chatbot.Api.dll", "--docker"]