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

When using Docker Containers, where are shared Python libraries stored?

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

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

就像 Docker 容器中的其他所有内容一样,您的库位于容器内。除非你挂载主机卷,或者当然是来自另一个容器的卷。不过,从好的方面来说,它们是写时复制的,所以如果你不对容器中的库进行更改(你为什么要这样做?)那么你可以有 100 运行 个容器来自同一图像,它们不需要任何额外的磁盘 space.

一些 人提倡在容器中使用 virtualenv - 这种方法有利有弊,我认为没有放之四海而皆准的方法回答,虽然我会倾向于没有 virtualenv。