Browse Source

Multistage docker file.

pull/65/head
Sebastian Stehle 9 years ago
parent
commit
7da1130b6b
  1. 11
      build.ps1
  2. 20
      dockerfile
  3. 5
      src/Squidex/dockerfile

11
build.ps1

@ -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

20
Dockerfile.build → 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 # Install runtime dependencies
RUN apt-get update \ RUN apt-get update \
@ -48,4 +51,17 @@ RUN dotnet restore \
&& dotnet test tests/Squidex.Write.Tests/Squidex.Write.Tests.csproj && dotnet test tests/Squidex.Write.Tests/Squidex.Write.Tests.csproj
# Publish # Publish
RUN dotnet publish src/Squidex/Squidex.csproj --output /out/ --configuration Release 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"]

5
src/Squidex/dockerfile

@ -1,5 +0,0 @@
FROM microsoft/aspnetcore:1.1.2
WORKDIR /app
COPY . .
EXPOSE 80
ENTRYPOINT ["dotnet", "Squidex.dll"]
Loading…
Cancel
Save