ml-model-restapi / Dockerfile
fahmiaziz98
refactor dockerfile 3 fix permission user non root
067c765
raw
history blame
1.14 kB
FROM python:3.11.11-slim AS build
ENV PIP_DEFAULT_TIMEOUT=100 \
PYTHONUNBUFFERED=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1
WORKDIR /app
COPY requirements.txt .
RUN pip install --upgrade pip && pip wheel --no-cache-dir --wheel-dir /wheels -r requirements.txt
FROM python:3.11.11-slim AS final
WORKDIR /app
ENV PIP_DEFAULT_TIMEOUT=100 \
PYTHONUNBUFFERED=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1
RUN set -ex \
&& addgroup --system --gid 1001 appgroup \
&& adduser --system --uid 1001 --gid 1001 --no-create-home appuser \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y libjpeg-dev zlib1g-dev \
# πŸ”¨ Buat folder ml-models untuk menyimpan model
&& mkdir -p /app/ml-models && chown -R appuser:appgroup /app/ml-models \
&& apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build /app/requirements.txt .
RUN pip install -r requirements.txt
COPY ./artifacts artifacts
COPY ./api api
EXPOSE 7860
USER appuser
CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "7860"]