Django和Docker:我们应该使用Python Virtualenv吗

67up9zun  于 2023-03-31  发布在  Go
关注(0)|答案(2)|浏览(159)

我想用Docker来做Django。
因为这个docker映像包是一个django项目的专用映像包,所以可以直接pip安装docker中的所有东西,而不是创建一个virtualenv,然后用pip安装所有需要的django和相关的包吗?
那么,如果有人想在django项目中坚持使用docker,最好的方法是什么?

7eumitmz

7eumitmz1#

你是对的,你不需要在django容器中建立一个虚拟环境。
如果你总是使用pip并将需求存储在requirements.txt中,你可以使用它来初始化一个虚拟环境,用于不使用docker的开发以及设置docker容器:
要减小容器的大小,请在安装后删除pip缓存:

FROM python:3.6.7-alpine3.8

...

RUN pip3.6 install -U pip setuptools \
    && pip3.6 install -r requirements.txt \
    && pip3.6 install gunicorn \. # or uwsgi or whatever
    && rm -rf /root/.cache
rn0zuynd

rn0zuynd2#

Docker容器提供已经隔离的环境,这与virtualenv的目标类似。因此,如果只有一个应用程序在Docker容器中运行,那么在没有virtualenv带来的另一层的情况下使用它也是可以的。就个人而言,我不记得在容器中看到过与virtualenv一起使用的Django应用程序。

相关问题