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