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/"] COPY ["src/Todo.Infrastructure/Todo.Infrastructure.csproj", "src/Todo.Infrastructure/"] 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 ENV ASPNETCORE_URLS=http://+:80 COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Todo.Api.dll"]