Add production docker file for backend
This commit is contained in:
27
src/backend/server/Dockerfile
Normal file
27
src/backend/server/Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
|
||||
WORKDIR /src
|
||||
|
||||
COPY *.sln .
|
||||
COPY ["src/Todo.Api/Todo.Api.csproj", "src/Todo.Api/"]
|
||||
COPY ["src/Todo.Core/Todo.Core.csproj", "src/Todo.Core/"]
|
||||
COPY ["src/Todo.Persistence/Todo.Persistence.csproj", "src/Todo.Persistence/"]
|
||||
|
||||
RUN dotnet restore .
|
||||
|
||||
COPY . .
|
||||
|
||||
WORKDIR "src/Todo.Api"
|
||||
RUN dotnet build . -c Release -o /app/build
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "Todo.Api.csproj" -c Release -o /app/publish
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
ENTRYPOINT ["dotnet", "Todo.Api.dll"]
|
Reference in New Issue
Block a user