Как запускать команды django manage.py при использовании docker compose, чтобы избежать проблем с разрешениями
Я создал проект Django, Docker, Postgres, основанный на примере на Docker's Github. На моей Linux машине у меня есть 2 Docker контейнера, один для Django и один для Postgres.
Когда я запускаю команды manage.py
с помощью docker compose, например docker compose run web django-admin startapp auth
, созданный каталог и файлы принадлежат root
. Это означает, что мне нужно менять право собственности каждый раз, когда я это делаю. Я использую sudo chown -R
. Если я не меняю права собственности, то при попытке отредактировать файл, созданный с помощью manage.py
, я получаю сообщение об ошибке, в котором говорится, что у меня недостаточно привилегий и что мне нужно повторить попытку от имени суперпользователя.
Когда я пытаюсь выполнить эту команду без docker compose, например, python3 manage.py startapp auth
, я получаю ModuleNotFoundError: No module named django. Did you forget to activate a virtual environment?
Возможно ли, чтобы вывод команд manage.py
принадлежал мне? Я знаю, что docker process
принадлежит root...