Dockerfile 905 B

12345678910111213141516171819202122232425262728293031
  1. # syntax=docker/dockerfile:1
  2. # FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
  3. FROM tiangolo/uvicorn-gunicorn:python3.9
  4. WORKDIR /app
  5. # Install Poetry
  6. RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \
  7. cd /usr/local/bin && \
  8. ln -s /opt/poetry/bin/poetry && \
  9. poetry config virtualenvs.create false
  10. # Copy poetry.lock* in case it doesn't exist in the repo
  11. COPY pyproject.toml poetry.lock* /app/
  12. # Allow installing dev dependencies to run tests
  13. ARG INSTALL_DEV=false
  14. RUN bash -c "if [ $INSTALL_DEV == 'true' ] ; then poetry install --no-root ; else poetry install --no-root --no-dev ; fi"
  15. COPY ./app /app/app
  16. RUN mkdir -p /app/ml_models
  17. ENV PYTHONPATH=/app
  18. EXPOSE 8002
  19. COPY .env_pro /app/.env
  20. ENV TZ=Asia/Shanghai
  21. CMD ["uvicorn", "app.main:app", "--log-level", "info", "--host", "0.0.0.0", "--port", "8002"]