Dockerfile-alpine 965 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Usage:
  2. #
  3. # docker build -t bcryptjs-linux-alpine-builder -f Dockerfile-alpine .
  4. # CONTAINER=$(docker create bcryptjs-linux-alpine-builder)
  5. # # Then copy the artifact to your host:
  6. # docker cp "$CONTAINER:/usr/local/opt/bcrypt-js/prebuilds" .
  7. # docker rm "$CONTAINER"
  8. ARG FROM_IMAGE=node:18-alpine
  9. FROM ${FROM_IMAGE}
  10. ENV project bcrypt-js
  11. ENV DEBIAN_FRONTEND noninteractive
  12. ENV LC_ALL en_US.UTF-8
  13. ENV LANG ${LC_ALL}
  14. RUN echo "#log: ${project}: Setup system" \
  15. && set -x \
  16. && apk add --update build-base python3 \
  17. && npm i -g prebuildify@5 node-gyp@9 \
  18. && sync
  19. ADD . /usr/local/opt/${project}
  20. WORKDIR /usr/local/opt/${project}
  21. RUN echo "#log: ${project}: Running build" \
  22. && set -x \
  23. && npm ci \
  24. && npm run build
  25. ARG RUN_TESTS=true
  26. ARG TEST_TIMEOUT_SECONDS=
  27. RUN if "${RUN_TESTS}"; then \
  28. echo "#log ${project}: Running tests" \
  29. && npm test; \
  30. else \
  31. echo "#log ${project}: Tests were skipped!"; \
  32. fi
  33. CMD /bin/bash -l