
Co-authored-by: lidong293 <lidong310@jd.com> Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
36 lines
1016 B
Docker
36 lines
1016 B
Docker
FROM python:3.8
|
|
|
|
WORKDIR /app/
|
|
|
|
# Install Poetry
|
|
RUN curl -sSL https://install.python-poetry.org | POETRY_HOME=/opt/poetry python && \
|
|
cd /usr/local/bin && \
|
|
ln -s /opt/poetry/bin/poetry && \
|
|
poetry config virtualenvs.create false
|
|
|
|
# Copy poetry.lock* in case it doesn't exist in the repo
|
|
COPY ./app/pyproject.toml ./app/poetry.lock* /app/
|
|
|
|
# Allow installing dev dependencies to run tests
|
|
ARG INSTALL_DEV=false
|
|
RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --only main ; fi"
|
|
|
|
# For development, Jupyter remote kernel, Hydrogen
|
|
# Using inside the container:
|
|
# jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
|
ARG INSTALL_JUPYTER=false
|
|
RUN bash -c "if [ $INSTALL_JUPYTER == 'true' ] ; then pip install jupyterlab ; fi"
|
|
|
|
ENV C_FORCE_ROOT=1
|
|
|
|
COPY ./app /app
|
|
WORKDIR /app
|
|
|
|
ENV PYTHONPATH=/app
|
|
|
|
COPY ./app/worker-start.sh /worker-start.sh
|
|
|
|
RUN chmod +x /worker-start.sh
|
|
|
|
CMD ["bash", "/worker-start.sh"]
|