mirror of
https://github.com/facebook/duckling.git
synced 2024-10-26 21:59:44 +03:00
a93cae1c02
Summary: * Reduces size of final image from 5GB to 130MB * Builds any checkout (not locked to the master) * Doesn't run stack on CMD (executes static build of Duckling instead) Pull Request resolved: https://github.com/facebook/duckling/pull/341 Reviewed By: chinmay87 Differential Revision: D21083018 Pulled By: patapizza fbshipit-source-id: d909158f20f5b8da5b0248a25103b850797bc3a3
40 lines
946 B
Docker
40 lines
946 B
Docker
FROM haskell:8 AS builder
|
|
|
|
RUN apt-get update -qq && \
|
|
apt-get install -qq -y libpcre3 libpcre3-dev build-essential --fix-missing --no-install-recommends && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
RUN mkdir /log
|
|
|
|
WORKDIR /duckling
|
|
|
|
ADD stack.yaml .
|
|
|
|
ENV LANG=C.UTF-8
|
|
|
|
RUN stack setup
|
|
|
|
ADD . .
|
|
|
|
# NOTE:`stack build` will use as many cores as are available to build
|
|
# in parallel. However, this can cause OOM issues as the linking step
|
|
# in GHC can be expensive. If the build fails, try specifying the
|
|
# '-j1' flag to force the build to run sequentially.
|
|
RUN stack install
|
|
|
|
FROM debian:stretch
|
|
|
|
ENV LANG C.UTF-8
|
|
|
|
RUN apt-get update -qq && \
|
|
apt-get install -qq -y libpcre3 libgmp10 --no-install-recommends && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
COPY --from=builder /root/.local/bin/duckling-example-exe /usr/local/bin/
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["duckling-example-exe", "-p", "8000"]
|