news-extractor / Dockerfile
umitgunduz's picture
Update Dockerfile
a03c360
raw
history blame contribute delete
No virus
1.26 kB
# docker build -t news-extractor:0.1.0 -f ./Dockerfile-cpu .
# docker run --rm -it -v $(pwd)/models:/app/models -p 7860:7860 news-extractor:0.1.0
FROM python:3.9
ENV PYTHON_VERSION=3.9
ENV POETRY_VERSION=1.3.1
ENV POETRY_VENV=/opt/poetry-venv
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get -qq update \
&& apt-get -qq install --no-install-recommends \
python${PYTHON_VERSION} \
python${PYTHON_VERSION}-venv \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
RUN ln -s -f /usr/bin/python${PYTHON_VERSION} /usr/bin/python3 && \
ln -s -f /usr/bin/python${PYTHON_VERSION} /usr/bin/python && \
ln -s -f /usr/bin/pip3 /usr/bin/pip
RUN python3 -m venv $POETRY_VENV \
&& $POETRY_VENV/bin/pip install -U pip setuptools \
&& $POETRY_VENV/bin/pip install poetry==${POETRY_VERSION}
ENV PATH="${PATH}:${POETRY_VENV}/bin"
RUN mkdir -p /.cache/pypoetry/virtualenvs
RUN chmod -R 777 /.cache
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR $HOME/app
COPY ./src $HOME/app/src
COPY ./src $HOME/app
COPY ./model $HOME/app/model
COPY ./pyproject.toml $HOME/app
COPY ./README.md $HOME/app
RUN poetry lock --no-update
RUN poetry install --no-root
CMD [ "poetry", "run", "app"]