diff --git a/Astrocore.Api/Astrocore.Api.csproj b/Astrocore.Api/Astrocore.Api.csproj index 65435f4..958df04 100644 --- a/Astrocore.Api/Astrocore.Api.csproj +++ b/Astrocore.Api/Astrocore.Api.csproj @@ -5,7 +5,7 @@ enable enable 916bd77d-132b-42cb-93e0-55d05b0d4f4b - Windows + Linux diff --git a/Astrocore.Api/Dockerfile b/Astrocore.Api/Dockerfile index d00cf2c..3743b21 100644 --- a/Astrocore.Api/Dockerfile +++ b/Astrocore.Api/Dockerfile @@ -1,29 +1,27 @@ # See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. -# Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed. -# For more information, please see https://aka.ms/containercompat - # This stage is used when running from VS in fast mode (Default for Debug configuration) -FROM mcr.microsoft.com/dotnet/aspnet:8.0-nanoserver-1809 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +USER $APP_UID WORKDIR /app EXPOSE 8080 EXPOSE 8081 # This stage is used to build the service project -FROM mcr.microsoft.com/dotnet/sdk:8.0-nanoserver-1809 AS build +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src COPY ["Astrocore.Api/Astrocore.Api.csproj", "Astrocore.Api/"] RUN dotnet restore "./Astrocore.Api/Astrocore.Api.csproj" COPY . . WORKDIR "/src/Astrocore.Api" -RUN dotnet build "./Astrocore.Api.csproj" -c %BUILD_CONFIGURATION% -o /app/build +RUN dotnet build "./Astrocore.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build # This stage is used to publish the service project to be copied to the final stage FROM build AS publish ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "./Astrocore.Api.csproj" -c %BUILD_CONFIGURATION% -o /app/publish /p:UseAppHost=false +RUN dotnet publish "./Astrocore.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false # This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration) FROM base AS final diff --git a/Astrocore.Api/Dockerfile.original b/Astrocore.Api/Dockerfile.original new file mode 100644 index 0000000..d00cf2c --- /dev/null +++ b/Astrocore.Api/Dockerfile.original @@ -0,0 +1,32 @@ +# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. + +# Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed. +# For more information, please see https://aka.ms/containercompat + +# This stage is used when running from VS in fast mode (Default for Debug configuration) +FROM mcr.microsoft.com/dotnet/aspnet:8.0-nanoserver-1809 AS base +WORKDIR /app +EXPOSE 8080 +EXPOSE 8081 + + +# This stage is used to build the service project +FROM mcr.microsoft.com/dotnet/sdk:8.0-nanoserver-1809 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["Astrocore.Api/Astrocore.Api.csproj", "Astrocore.Api/"] +RUN dotnet restore "./Astrocore.Api/Astrocore.Api.csproj" +COPY . . +WORKDIR "/src/Astrocore.Api" +RUN dotnet build "./Astrocore.Api.csproj" -c %BUILD_CONFIGURATION% -o /app/build + +# This stage is used to publish the service project to be copied to the final stage +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./Astrocore.Api.csproj" -c %BUILD_CONFIGURATION% -o /app/publish /p:UseAppHost=false + +# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration) +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "Astrocore.Api.dll"] \ No newline at end of file