duckling/Dockerfile
Tpt 888b1cba35 Dockerfile: debugs the build and uses Debian Buster everywhere (#539)
Summary:
The Dockerfile build part did not copy the Duckling implementation into the container, making the build fail.

I also harmonized the target Debian to Buster, that is the one currently hidden behind `haskell:8`.

Pull Request resolved: https://github.com/facebook/duckling/pull/539

Reviewed By: patapizza

Differential Revision: D24688839

Pulled By: chessai

fbshipit-source-id: 0ffcc4d28a599b7edad668730117828d26e116ad
2020-11-02 13:33:00 -08:00

40 lines
943 B
Docker

FROM haskell:8-buster 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 . .
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:buster
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"]