Docker和Django manage.py

我试图find一个与Docker和Django的工作stream程。 目前,我正在使用docker文档中的基本configuration。

我想直接从容器中使用manage.py startapp来启动一个新的应用程序,使用:

 docker-compose run web ./manage.py startapp myapp 

但是,卷中创build的所有文件都由root用户拥有,而不是由我自己拥有,所以我无法从主机编辑它们。

我的想法是避免在主机上安装所有要求,但也许我不应该从容器创build应用程序?

一个可能的解决scheme是创build一个用户,并使其具有与我的主机上的用户相同的UID / GID,但如果我尝试在我的主机上使用其他帐户,则无法正常工作。

任何build议?

最适合我的是避免(或最小化)容器内的文件创build。

我的Dockerfile只会复制requirements.txt并安装它们; 容器将通过安装的卷访问应用程序文件。

我将env var PYTHONDONTWRITEBYTECODE=1传递给容器,所以python不会创build*.pyc/*.pyo文件。

有几次我无法避免它(比如./manage.py makemigrations ),之后我运行chown 。 这并不理想,但由于这种情况很less出现在我的情况中,所以我不打扰。