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
|
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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue