Как запускать команды 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...

Вернуться на верх