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出现在我的情况中,所以我不打扰。