dan*_*oll 39 python virtualenv docker
根据我对Docker的理解,它是用于虚拟环境的工具.在他们的行话中,它被称为"集装箱化".这或多或少是Python的virtualenv所做的.但是,您可以在 Docker中使用virtualenv .那么它是虚拟环境中的虚拟环境?我很困惑这甚至会如何工作,所以有人可以澄清一下吗?谢谢.
sp0*_*0gg 45
virtualenv仅封装Python依赖项.Docker容器封装了整个操作系统.
使用Python virtualenv,您可以轻松地在Python版本和依赖项之间切换,但是您仍然坚持使用主机操作系统.
使用Docker镜像,您可以更换整个操作系统 - 在Ubuntu,Debian,Alpine甚至Windows Server Core上安装和运行Python.
有Docker 图像,你可以想到的操作系统和Python版本的每个组合,准备下载并在安装了Docker的任何系统上使用.
jil*_*jil 14
Python虚拟环境将"容纳"Python运行时,即python解释器和python库,而Docker隔离整个系统(整个文件系统,所有用户空间库,网络接口).因此,Docker比虚拟环境更接近虚拟机.
Bli*_*ddy 14
添加到上述内容:有一个结合 docker 和 venv 的情况:一些操作系统附带安装了 python 以提供“OS-near”应用程序,例如,据我所知,适用于 debian(及其衍生产品)。python venv 使开发人员能够发布需要不同解释器版本的 python 应用程序,而不会影响随操作系统提供的 python。现在,由于 Docker 如上所述“隔离了整个操作系统”,这同样适用于 Docker 镜像。因此,在我看来,如果需要/需要 Docker 映像,最佳做法是在 Docker 映像中为您的 Python 应用程序创建一个 venv。