首页 > 解决方案 > Dockerized FastAPI 自动重载错误

问题描述

我使用docker-compose. 到目前为止,它运行良好,但在某些时候自动重载功能刚刚停止工作,这会减慢开发速度 - 现在它只在一分钟或更长时间后检测到更改。

我不知道是什么导致了这种行为,我没有编辑任何 docker 设置,我什至回到以前工作的 git-branches 并从头开始重建图像。我认为这可能与最近的 Docker Desktop 更新有关——在这种情况下,有没有办法恢复到以前的工作状态?

这是我的直流

version: "3"

services:

  api:
    build: 
      context: ./app
    env_file:
      - ./.env
    command: bash -c "uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload"
    volumes:
      - .:/code
    ports:
      - "8000:8000"

...和我的 Dockerfile

FROM python:3.7

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV CODE_SRC=app

WORKDIR /code/

ENV PATH=$PATH:/code/
ENV PYTHONPATH=$PYTHONPATH:/code/
ENV REQUIRED_PACKAGES git pkg-config

COPY pyproject.toml poetry.lock ./

RUN set -ex; \
    apt-get update ; \
    apt-get install -y --no-install-recommends $REQUIRED_PACKAGES ; \
    pip install poetry ; \
    poetry config virtualenvs.create false ; \
    poetry install --no-interaction --no-ansi ; \
    apt-get autoremove -y ; \
    apt-get clean -y ; \
    rm -rf /var/lib/apt/lists/*

COPY . .

EXPOSE 8000

Windows 版的 Docker 桌面。

在此处输入图像描述

谢谢,

标签: dockerdocker-composefastapi

解决方案


推荐阅读