Dockerfile 862 B

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