使用Ubuntu 18.04。
是否可以使用docker来简单地“克隆”我的系统并使用所有已安装的库?
我要做的就是开始使用docker图像进行图像处理。 我的系统上安装了Tensorflow 2.0-gpu,没有任何容器/虚拟环境。 而且我只想“复制”当前系统及其所有正常运行的库,因此,如果我更新一些依赖项,或尝试升级keras / tensorflow或任何其他软件包并得到一些奇怪的错误,我就不会尝试找出问题出在哪里,然后可以回退并从我的基本系统中创建一个新的新docker映像。
我看过的所有docker映像文件和教程总是以这种方式开始:FROM“ Some os / python version / ...”,我并不是真的想要,我只想使用FROM“ this os及其所有功能已安装的东西”。
谢谢!
答案 0 :(得分:0)
很抱歉将其破解给您,但简短的回答是否。
长远来说,泊坞窗不是像任何虚拟机一样工作的虚拟化方式,而是更像是共享主机OS,用于运行独立的进程集(由内存和其他东西隔离)。
意味着它使用主机OS处理程序写入驱动器并进行对内存的调用等。Docker不像虚拟机软件那样为容器提供虚拟硬件。因此,您无法将操作系统克隆到其中。
并且因为Docker使用主机OS来做事情-实际上,它在每个容器中不执行OS逻辑上就节省了CPU资源。 -这就是为什么与传统VM相比性能得到提升的原因。
这就是为什么出于生产目的绝对值得从最空的(ubuntu)图像构建图像-生产中您永远不需要图像编辑工具。因此,如果您需要一天扩大规模,则永远不会花费超出软件需求的内存(例如,在kubernets中,您可以根据利用率指标自动增加和减少Docker容器的数量,但这是最终目标)。
但是大量的VM软件包提供了将物理PC克隆到映像中的逻辑,因此,如果需要,您可以利用它。