使用 Docker 容器时,共享的 Python 库存储在哪里?

Ben*_*son 3 python virtualenv docker

在每个应用程序都使用Docker容器的环境中,Python的共享库存储在哪里?它们是单独存储在每个 Docker 容器中,还是由主机操作系统共享?

此外,我想知道无论如何使用虚拟环境是否是最佳实践?

Way*_*ner 5

就像 Docker 容器中的其他所有内容一样,您的库位于容器内。除非您安装主机卷,或者当然是另一个容器中的卷。不过,从好的方面来说,它们是写时复制的,因此,如果您没有对容器中的库进行更改(为什么要这样做?),那么您可以从同一个映像拥有 100 个正在运行的容器并且它们不需要任何额外的磁盘空间。

有些人主张在容器内使用 virtualenv - 这种方法有利有弊,我认为没有一个一刀切的答案,尽管我倾向于不使用 virtualenv。