From 7da1130b6b3d1a3328414a9f9a1204e60fd47c47 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sat, 10 Jun 2017 21:42:03 +0200 Subject: [PATCH] Multistage docker file. --- build.ps1 | 11 ----------- Dockerfile.build => dockerfile | 20 ++++++++++++++++++-- src/Squidex/dockerfile | 5 ----- 3 files changed, 18 insertions(+), 18 deletions(-) delete mode 100644 build.ps1 rename Dockerfile.build => dockerfile (83%) delete mode 100644 src/Squidex/dockerfile diff --git a/build.ps1 b/build.ps1 deleted file mode 100644 index 1bd6b7e23..000000000 --- a/build.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -# Build the image -docker build . -t squidex-build-image -f Dockerfile.build - -# Open the image -docker create --name squidex-build-container squidex-build-image - -# Copy the output to the host file system -docker cp squidex-build-container:/out ./publish - -# Cleanup -docker rm squidex-build-container \ No newline at end of file diff --git a/Dockerfile.build b/dockerfile similarity index 83% rename from Dockerfile.build rename to dockerfile index f59227346..981483cc4 100644 --- a/Dockerfile.build +++ b/dockerfile @@ -1,4 +1,7 @@ -FROM microsoft/aspnetcore-build:1.1.2 +# +# Stage 1, Prebuild +# +FROM microsoft/aspnetcore-build:1.1.2 as builder # Install runtime dependencies RUN apt-get update \ @@ -48,4 +51,17 @@ RUN dotnet restore \ && dotnet test tests/Squidex.Write.Tests/Squidex.Write.Tests.csproj # Publish -RUN dotnet publish src/Squidex/Squidex.csproj --output /out/ --configuration Release \ No newline at end of file +RUN dotnet publish src/Squidex/Squidex.csproj --output /out/ --configuration Release + +# +# Stage 2, Build runtime +# +FROM microsoft/aspnetcore:1.1.2 + +# Default AspNet Core Workdir +WORKDIR /app + +# Copy from Build Stage +COPY --from=builder /out/ . + +ENTRYPOINT ["dotnet", "Squidex.dll"] \ No newline at end of file diff --git a/src/Squidex/dockerfile b/src/Squidex/dockerfile deleted file mode 100644 index 74d8148fd..000000000 --- a/src/Squidex/dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM microsoft/aspnetcore:1.1.2 -WORKDIR /app -COPY . . -EXPOSE 80 -ENTRYPOINT ["dotnet", "Squidex.dll"] \ No newline at end of file