vapor-mongo.dockerfile 763 B

1234567891011121314151617181920212223242526272829303132333435
  1. # ================================
  2. # Build image
  3. # ================================
  4. FROM swift:5.7 as build
  5. WORKDIR /build
  6. # Copy entire repo into container
  7. COPY ./vapor-mongo .
  8. RUN apt update
  9. RUN apt-get -yqq install libssl-dev
  10. # Compile with optimizations
  11. RUN swift build \
  12. -c release \
  13. -Xswiftc -enforce-exclusivity=unchecked
  14. # ================================
  15. # Run image
  16. # ================================
  17. FROM swift:5.7-slim
  18. WORKDIR /run
  19. RUN apt update
  20. RUN apt-get -yqq install libssl-dev
  21. # Copy build artifacts
  22. COPY --from=build /build/.build/release /run
  23. # Copy Swift runtime libraries
  24. COPY --from=build /usr/lib/swift/ /usr/lib/swift/
  25. EXPOSE 8080
  26. ENTRYPOINT ["./app", "serve", "--env", "production", "--hostname", "0.0.0.0", "--port", "8080"]