在Docker容器中为python设置virtualenv有什么好的理由吗?

在Docker容器中为python设置virtualenv有什么好的理由吗?,python,docker,virtualenv,Python,Docker,Virtualenv,几乎所有python教程都建议将virutalenv设置为第一步,以保持一致性。在使用Docker容器时,为什么或者为什么不应该维护此标准?如果您打算在容器上只运行一个版本,并且它是容器的系统版本,那么在容器中使用virtualenv没有技术原因。但也可能有非技术原因。例如,如果您的团队习惯于在~/some env中查找python库,或者比容器的libs更了解virtualenv结构,那么您可能还是希望继续使用virtualenv 在“缺点”方面,在现有系统python之上的virtualen

几乎所有python教程都建议将virutalenv设置为第一步,以保持一致性。在使用Docker容器时,为什么或者为什么不应该维护此标准?

如果您打算在容器上只运行一个版本,并且它是容器的系统版本,那么在容器中使用virtualenv没有技术原因。但也可能有非技术原因。例如,如果您的团队习惯于在~/some env中查找python库,或者比容器的libs更了解virtualenv结构,那么您可能还是希望继续使用virtualenv


在“缺点”方面,在现有系统python之上的virtualenv可能也会使您的图像稍大。

使用docker时,采用微服务概念是有意义的。使用微服务,每个微服务都与特定的业务功能保持一致,并且只定义该业务功能所需的操作。这意味着每个应用程序在一个或多个单独的docker映像中运行,并具有其特定的依赖项(python模块)。这使得virtualenv的使用变得不必要