mirror of https://github.com/knative/docs.git
23 lines
768 B
Docker
23 lines
768 B
Docker
# Use the official Haskell image to create a build artifact.
|
|
# https://hub.docker.com/_/haskell/
|
|
FROM haskell:8.2.2 as builder
|
|
|
|
# Copy local code to the container image.
|
|
WORKDIR /app
|
|
COPY . .
|
|
|
|
# Build and test our code, then build the “helloworld-haskell-exe” executable.
|
|
RUN stack setup
|
|
RUN stack build --copy-bins
|
|
|
|
# Use a Docker multi-stage build to create a lean production image.
|
|
# https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds
|
|
FROM fpco/haskell-scratch:integer-gmp
|
|
|
|
# Copy the "helloworld-haskell-exe" executable from the builder stage to the production image.
|
|
WORKDIR /root/
|
|
COPY --from=builder /root/.local/bin/helloworld-haskell-exe .
|
|
|
|
# Run the web service on container startup.
|
|
CMD ["./helloworld-haskell-exe"]
|