如何在我的系统上使用 docker 作为容器

How to use docker as a container on my system

使用 Ubuntu 18.04.

pos是否可以使用 docker 简单地“克隆”我的系统并使用我安装的所有库?

我想做的就是开始使用 docker 图像进行图像处理。 我在没有任何 containers/virtual 环境的情况下在我的系统上安装了 Tensorflow 2.0-gpu。 而且我只想“复制”当前系统及其所有工作库,这样如果我更新一些依赖项,或者尝试升级 keras/tensorflow 或任何其他包并得到一些奇怪的错误,我会不必尝试找出问题出在哪里,只需回退并从我的基本系统创建一个新的、新鲜的 docker 图像。

我见过的所有 docker 图像文件和教程总是这样开始的: FROM "Some os/python version/..." ,我真的不想要,我只想使用 FROM “这个 os 及其所有已安装的东西”。

谢谢!

很抱歉打断你,但简短的回答是

更长的一个是 docker 不是任何虚拟机工作方式的虚拟化,而更像是共享主机 OS 用于 运行 分离的进程集(由内存和隔离)剩下的东西)。

意味着它使用主机 OS 处理程序写入驱动器并调用内存等。Docker 不像虚拟机软件那样为容器做虚拟硬件。因此,您无法将 OS 克隆到其中。

并且因为 Docker 使用主机 OS 来做事 - 它实际上节省了 CPU 资源,而不是在每个容器中执行 OS 逻辑。 - 这就是为什么它与经典 VM 相比性能提升的原因。

这就是为什么出于生产目的,仅从最空的 (ubuntu) 图像构建图像绝对值得 - 在生产中您永远不需要图像编辑工具。因此,如果有一天你需要扩展,你永远不会花费比软需求更多的内存(就像在 kubernets 中,你可以根据利用率指标自动扩展和减少 docker 容器的数量,但这是最终目标) .

但是很多 VM 软件包提供了将物理 pc 克隆到映像中的逻辑,所以如果你需要它,你可以利用它。