github.com/rohankumardubey/draft-classic@v0.16.0/packs/erlang/Dockerfile (about) 1 FROM erlang:20.3.6-alpine as builder 2 3 RUN apk add --update tar curl git bash make libc-dev gcc g++ && \ 4 rm -rf /var/cache/apk/* 5 6 RUN set -xe \ 7 && curl -fSL -o rebar3 "https://s3.amazonaws.com/rebar3/rebar3" \ 8 && chmod +x ./rebar3 \ 9 && ./rebar3 local install \ 10 && rm ./rebar3 11 12 WORKDIR /usr/src/app 13 COPY . /usr/src/app 14 15 ENV PATH "$PATH:/root/.cache/rebar3/bin" 16 RUN rebar3 as prod tar 17 18 RUN mkdir -p /opt/rel 19 RUN tar -zxvf /usr/src/app/_build/prod/rel/*/*.tar.gz -C /opt/rel 20 21 RUN relname=$(ls _build/prod/rel) ; echo $relname > /opt/rel/__relname 22 23 FROM alpine:3.7 24 25 RUN apk add --no-cache openssl-dev ncurses 26 27 WORKDIR /opt/rel 28 29 ENV RELX_REPLACE_OS_VARS true 30 ENV HTTP_PORT 8080 31 32 COPY --from=builder /opt/rel /opt/rel 33 34 EXPOSE 8080 8080 35 36 RUN ln -s /opt/rel/bin/$(cat /opt/rel/__relname) /opt/rel/bin/start_script 37 ENTRYPOINT ["/opt/rel/bin/start_script"] 38 39 CMD ["foreground"] 40