phoenix.dockerfile 506 B

12345678910111213141516171819202122232425262728293031
  1. ###############
  2. # Build stage #
  3. ###############
  4. FROM elixir:1.12.2 as build
  5. ARG MIX_ENV="prod"
  6. RUN mix local.hex --force && \
  7. mix local.rebar --force
  8. COPY config ./config
  9. COPY lib ./lib
  10. COPY rel ./rel
  11. COPY priv ./priv
  12. COPY mix.exs .
  13. COPY mix.lock .
  14. RUN mix deps.get --force --only prod
  15. RUN mix release --force --path /export
  16. ####################
  17. # Deployment Stage #
  18. ####################
  19. FROM erlang:24.0.5
  20. COPY --from=build /export /opt
  21. EXPOSE 8080
  22. ENTRYPOINT ["/opt/bin/hello"]
  23. CMD ["start"]