Docker-compose некорректно монтирует тома для контейнера django

Запуск Docker на Windows 10 с WSL 2 Ubuntu на нем. У меня есть следующее Dockerfile:

FROM ubuntu

#base directory
ENV HOME /root
#subdirectory name for the REST project
ENV PROJECT_NAME django_project
#subdirectory name of the users app
ENV APP_NAME users

#set the working directory
WORKDIR $HOME

#install Python 3, the Django REST framework and the Cassandra Python driver
RUN apt-get update
RUN apt -y install python3-pip 2> /dev/null
RUN pip3 install djangorestframework
RUN pip3 install cassandra-driver

#initialize the project (blank project) and creates a folder called $PROJECT_NAME
#with manager.py on its root directory
RUN django-admin startproject $PROJECT_NAME .
#install an app in the project and create a folder named after it
RUN python3 manage.py startapp $APP_NAME

ENV CASSANDRA_SEEDS cas1

ENTRYPOINT ["python3","manage.py", "runserver", "0.0.0.0:8000"]

Я создаю образ с помощью docker build -t django-img . и затем у меня есть следующее .yaml:

version: '3'
services:
  django_c:
    container_name: django_c
    image: django-img
    environment:
      - CASSANDRA_SEEDS='cas1'
    ports:
      - '8000:8000'
    volumes:
      - /mnt/c/Users/claud/docker-env/django/django_project:/django_project

Когда я запускаю docker-compose up -d внутри папки django-project (.yml и Dockerfile находятся там), я получаю запущенный контейнер, но я не вижу на хосте ни одного файла из контейнера. Если я запускаю ls в контейнере, однако, я вижу, что все файлы там:

enter image description here

Как я могу редактировать файлы контейнера, используя редактор на моем хосте?

p.s.: Я уже протестировал слэши томов ("/") с другим контейнером, и они работают нормально, поскольку я использую WSL.

ДОПОЛНЕНИЕ Здесь содержимое моих контейнерных папок, используя относительные пути, я пробовал

volumes:
      - /mnt/c/Users/claud/docker-env/django/django_project:/root/django_project

но он все равно не показал файлы в хосте. enter image description here

Я думаю, что проблема в том, что ваше монтирование тома относится к абсолютному пути /django_project, но вы указываете WORKDIR $HOME, который является /root в вашем Dockerfile. Дополнительной подсказкой является то, что вы видите свои файлы, когда вы ls -la ./django_project в контейнере, используя относительный путь.

Наверняка вы сможете решить проблему, обновив определение службы docker-compose.yml django_c, чтобы вместо этого указать /root/django_project в качестве монтирования тома:

volumes:
    - /mnt/c/Users/claud/docker-env/django/django_project:/root/django_project
Вернуться на верх