summaryrefslogtreecommitdiff
path: root/services/news-collector/Dockerfile
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-04-02 15:39:09 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-04-02 15:39:09 +0900
commit6174901a121cebf6448db3fef5e68a375dec9b61 (patch)
treec47e6fa1fbe1ffab344595d94d8024949f2f8808 /services/news-collector/Dockerfile
parent75e85546a2880b87aaebd6800cefceb86269cc94 (diff)
feat: optimize Dockerfiles with multi-stage builds, non-root user, .dockerignore
Diffstat (limited to 'services/news-collector/Dockerfile')
-rw-r--r--services/news-collector/Dockerfile12
1 files changed, 10 insertions, 2 deletions
diff --git a/services/news-collector/Dockerfile b/services/news-collector/Dockerfile
index a8e5902..7accee2 100644
--- a/services/news-collector/Dockerfile
+++ b/services/news-collector/Dockerfile
@@ -1,9 +1,17 @@
-FROM python:3.12-slim
+FROM python:3.12-slim AS builder
WORKDIR /app
COPY shared/ shared/
RUN pip install --no-cache-dir ./shared
COPY services/news-collector/ services/news-collector/
RUN pip install --no-cache-dir ./services/news-collector
-RUN python -c "import nltk; nltk.download('vader_lexicon', quiet=True)"
+RUN python -c "import nltk; nltk.download('vader_lexicon', download_dir='/usr/local/nltk_data')"
+
+FROM python:3.12-slim
+RUN useradd -r -s /bin/false appuser
+WORKDIR /app
+COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
+COPY --from=builder /usr/local/bin /usr/local/bin
+COPY --from=builder /usr/local/nltk_data /usr/local/nltk_data
ENV PYTHONPATH=/app
+USER appuser
CMD ["python", "-m", "news_collector.main"]