# syntax=docker/dockerfile:1 # Trivy is a single static binary, so it can be copied into a slim base image. ARG TRIVY_IMAGE=aquasec/trivy:latest FROM ${TRIVY_IMAGE} AS trivy FROM python:3.12-slim LABEL org.opencontainers.image.title="docker-vuln-scan" \ org.opencontainers.image.description="Trivy image vulnerability scanner with Apprise alerts" \ org.opencontainers.image.licenses="MIT" RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates \ && rm -rf /var/lib/apt/lists/* \ && pip install --no-cache-dir "apprise>=1.8,<2" COPY --from=trivy /usr/local/bin/trivy /usr/local/bin/trivy COPY scan.py /usr/local/bin/scan.py RUN chmod 0755 /usr/local/bin/scan.py ENV REPORT_DIR=/reports \ TRIVY_CACHE_DIR=/var/lib/trivy \ TRIVY_NO_PROGRESS=true \ PYTHONUNBUFFERED=1 VOLUME ["/reports"] ENTRYPOINT ["/usr/local/bin/scan.py"]