Use a multi stage docker build and build app in release mode
This commit is contained in:
parent
6b89eb3bce
commit
8a99f4564a
1 changed files with 20 additions and 4 deletions
24
Dockerfile
24
Dockerfile
|
@ -1,12 +1,28 @@
|
|||
FROM dlang2/dmd-ubuntu
|
||||
FROM dlang2/dmd-ubuntu:2.083.0 as build
|
||||
WORKDIR /dlang/vibe-docker
|
||||
COPY . .
|
||||
|
||||
RUN useradd --user-group --create-home --shell /bin/false app
|
||||
RUN chown -R app:app /dlang/vibe-docker
|
||||
RUN useradd --user-group --create-home --shell /bin/false app && \
|
||||
chown -R app:app /dlang/vibe-docker
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue