Use a multi stage docker build and build app in release mode

This commit is contained in:
Johannes Loher 2018-11-29 00:51:18 +01:00
parent 6b89eb3bce
commit 8a99f4564a

View file

@ -1,12 +1,28 @@
FROM dlang2/dmd-ubuntu FROM dlang2/dmd-ubuntu:2.083.0 as build
WORKDIR /dlang/vibe-docker WORKDIR /dlang/vibe-docker
COPY . . COPY . .
RUN useradd --user-group --create-home --shell /bin/false app RUN useradd --user-group --create-home --shell /bin/false app && \
RUN chown -R app:app /dlang/vibe-docker chown -R app:app /dlang/vibe-docker
USER app USER app
RUN dub build RUN dub build --build=release
FROM ubuntu:17.10
ENV DEBIAN_FRONTEND=noninteractive
RUN set -ex && \
apt-get update && \
apt-get install --no-install-recommends -y \
ca-certificates \
libssl1.0.0
COPY --from=build /dlang/vibe-docker/vibe-docker /dlang/vibe-docker/vibe-docker
RUN useradd --user-group --create-home --shell /bin/false app && \
chown -R app:app /dlang/vibe-docker
USER app
EXPOSE 8080 EXPOSE 8080