|
@@ -1,21 +1,19 @@
|
|
|
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine AS build
|
|
|
-WORKDIR /app
|
|
|
+WORKDIR /source
|
|
|
|
|
|
# copy csproj and restore as distinct layers
|
|
|
-COPY Benchmarks/*.csproj ./Benchmarks/
|
|
|
-WORKDIR /app/Benchmarks
|
|
|
-RUN dotnet restore
|
|
|
+COPY Benchmarks/*.csproj .
|
|
|
+RUN dotnet restore -r linux-musl-x64
|
|
|
|
|
|
-# copy and build app and libraries
|
|
|
-WORKDIR /app/
|
|
|
-COPY Benchmarks/. ./Benchmarks/
|
|
|
-WORKDIR /app/Benchmarks
|
|
|
-RUN dotnet publish -c Release -r linux-musl-x64 -o out --self-contained true /p:PublishTrimmed=true
|
|
|
+# copy and publish app and libraries
|
|
|
+COPY Benchmarks/ .
|
|
|
+RUN dotnet publish -c release -o /app -r linux-musl-x64 --self-contained true --no-restore /p:PublishTrimmed=true /p:PublishReadyToRun=true
|
|
|
|
|
|
-FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1-alpine AS runtime
|
|
|
-ENV DOCKER_FLAVOR=linux
|
|
|
+# final stage/image
|
|
|
+FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1-alpine
|
|
|
WORKDIR /app
|
|
|
-COPY --from=build /app/Benchmarks/out ./
|
|
|
+COPY --from=build /app .
|
|
|
+
|
|
|
ENTRYPOINT ["./Benchmarks"]
|
|
|
|
|
|
EXPOSE 8080
|