Skip to content

Commit

Permalink
Improve Dockerfile with best practices and optimizations
Browse files Browse the repository at this point in the history
  • Loading branch information
sunnypranay committed Apr 14, 2023
1 parent a3024ca commit 1f21998
Showing 1 changed file with 22 additions and 6 deletions.
28 changes: 22 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,23 @@
# Use an official Python base image from the Docker Hub
FROM python:3.11-slim
ENV PIP_NO_CACHE_DIR=yes
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY scripts/ .
ENTRYPOINT ["python", "main.py"]

# Set environment variables
ENV PIP_NO_CACHE_DIR=yes \
PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1

# Create a non-root user and set permissions
RUN useradd --create-home appuser
WORKDIR /home/appuser
RUN chown appuser:appuser /home/appuser
USER appuser

# Copy the requirements.txt file and install the requirements
COPY --chown=appuser:appuser requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt

# Copy the application files
COPY --chown=appuser:appuser scripts/ .

# Set the entrypoint
ENTRYPOINT ["python", "main.py"]

0 comments on commit 1f21998

Please sign in to comment.