DevOps简单安装

我正在寻找开始为Django的networking应用程序创build适当的隔离环境。 我的第一个倾向是使用Docker。 此外,通常build议在任何python项目中使用virtualenv来隔离依赖关系。

如果我通过Docker镜像隔离项目, virtualenv仍然是必需的吗?

如果您的Docker容器相对较长或者您的项目依赖性发生变化,那么使用Python虚拟环境仍然是有价值的。 除了(相对)将代码库的依赖关系与其他项目和底层系统(特别是在特定状态下的项目)隔离之外,它允许在给定时间内表示需求状态的某种度量。

例如,假设您今天为您的Django应用程序创build了一个Docker镜像,并最终在接下来的三周内使用它。 你看到你的requirements.txt文件现在又被修改了吗? 你可以想象一下,你在哪个场景中推出了一个随环境变化而来的hotpatch?

从Python 3.3开始,virtual-env就是stdlib,这意味着它的使用非常便宜,所以我会继续使用它,以防万一Docker容器不像您原来计划的那样一次性使用。 换句话说,即使您的Docker-imagepipe道已经相当成熟,Python和依赖关系的版本是“预先烘焙的”,它也是如此低下的成果,虽然没有明确的必要性,但值得坚持最佳实践。

不是不是每个Python / Django都会在它自己的容器中。