Горячая перезагрузка в контейнере Docker не работает Django

У меня возникли проблемы с моим VS-Code Dev Container. Он работает, но, к сожалению, StatReloader не работает. Если я запускаю uv run python manage.py runserver 0.0.0.0:6000 внутри Dev Container (запускаю новый Django-сервер), то он работает совершенно нормально. На самом деле, я не уверен, что проблема связана с Dev-контейнерами, потому что StatReloader не работает в контейнере Docker в целом.

Я пытался...

  • измените громкость в .devcontainer/docker-compose.yml на .:/workspace:delegated
  • измените workspaceFolder на workspace
  • запустите Джанго с gunicorn
# backend/Dockerfile
FROM python:3.12
EXPOSE 8000
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
RUN apt-get update && apt-get install -y inotify-tools
RUN pip install uv watchdog
WORKDIR /app
COPY pyproject.toml uv.lock ./
COPY . ./
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser
RUN uv sync && uv lock
CMD [ "uv", "run", "python", "manage.py", "runserver", "0.0.0.0:8000" ]
# docker-compose.yml
name: experiments-graphql
services:
  django:
    image: backend
    build:
      context: ./backend
      dockerfile: ./Dockerfile
    ports:
      - 8000:8000
    restart: "unless-stopped"
# .devcontainer/docker-compose.yml
services:
  django:
    volumes:
      - .:/workspace:rw,consistent
// .devcontainer.json/devcontainer.json
{
    "name": "Existing Docker Compose (Extend)",

    "dockerComposeFile": [
        "../docker-compose.yml",
        "docker-compose.yml"
    ],

    "service": "django",
    "workspaceFolder": "/workspace",

    "customizations": {
        "vscode": {
            "settings": {},
            "extensions": [
                "ms-python.python",
                "eamodio.gitlens",
                "editorconfig.editorconfig"
            ]
        }
    }
}
Вернуться на верх