Dockerfile.alpine 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. FROM python:3.6.15-alpine3.15 AS builder
  2. RUN sed -i s/#http/http/g /etc/apk/repositories && \
  3. apk add --no-cache wget unzip bash gcc g++ make python3-dev openssl-dev libffi-dev
  4. RUN wget -O master.zip --no-check-certificate \
  5. https://github.com/monero-ecosystem/monero-python/archive/refs/heads/master.zip && \
  6. unzip master.zip && \
  7. mv monero-python-master /app && \
  8. cd /app && \
  9. python3 -m venv .venv && \
  10. echo c291cmNlIC52ZW52L2Jpbi9hY3RpdmF0ZQpwaXAzIGluc3RhbGwgLXIgcmVxdWlyZW1lbnRzLnR4dAo= \
  11. | base64 -d > py-venv.sh && \
  12. bash py-venv.sh
  13. ##################################################################
  14. FROM python:3.6.15-alpine3.15 AS Release
  15. COPY --from=builder /app /app
  16. ADD ./xmseed.py /app/xmseed.py
  17. WORKDIR /app
  18. RUN apk add --no-cache bash && \
  19. echo IyEvYmluL2Jhc2gKICAgIApzb3VyY2UgLnZlbnYvYmluL2FjdGl2YXRlCnB5dGhvbjMgeG1zZWVkLnB5 \
  20. | base64 -d > run.sh && \
  21. chmod +x run.sh
  22. RUN find / -depth -name '__pycache__' -type d -exec rm -rf {} \; && \
  23. rm /app/tests -rf && \
  24. rm /app/.venv/share/python-wheels/* -rf && \
  25. rm /app/.venv/lib/python3.6/site-packages/pip* -rf && \
  26. rm /app/.venv/lib/python3.6/site-packages/setuptools* -rf && \
  27. rm /usr/local/include/python3.6 -rf && \
  28. rm /usr/share/zoneinfo /etc/ssl /tmp -rf && \
  29. cd /usr/local/lib/python3.6/site-packages && \
  30. rm pip setuptools pkg_resources -rf
  31. ##################################################################
  32. FROM scratch
  33. COPY --from=Release . .
  34. WORKDIR /app
  35. CMD ["bash", "run.sh"]
  36. ##################################################################
  37. # Usage: docker run --rm -it xmseed
  38. # docker run --name xmseed -itd hongwenjun/xmseed sh
  39. # docker exec -it xmseed bash run.sh