2

我刚接触 docker 一天,所以它对我来说比较新。

我阅读了 docker.io,但无法得到几个基本问​​题的答案。这是什么:

  1. Docker 基本上是一个工具,它允许您使用映像并通过安装软件来启动您自己的自定义映像,以便您可以使用它来创建虚拟机。

从 10000 英尺的鸟瞰角度来看,这就是码头工人的全部意义吗?

2. 容器的具体含义是什么?是图像的同义词吗?

3. 我记得在某处读到它允许您部署应用程序。这个对吗 ?换句话说,它在部署 .net 应用程序时会表现得像 IIS 吗?

请回答我上面的问题,以便我更好地理解并推动它。

4

2 回答 2

7

1) 从 10000 英尺的鸟瞰角度来看,码头工人是什么?

从网站:Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.

深入了解 docker 地址的内容/原因:

进一步的深度可以在技术文档中找到:

2)容器的确切含义是什么?是图像的同义词吗?

图像是建立起来并且可以四处移动的一组图层。图像是只读的。

容器是图像的活动(或非活动,如果退出)有状态实例。

另请参阅:在 Docker 中,容器和映像有什么区别?

3)我记得在某处读过它允许您部署应用程序。这个对吗 ?换句话说,它在部署 .net 应用程序时会表现得像 IIS 吗?

是的,Docker 可用于部署应用程序。您可以部署应用程序堆栈的单个组件或容器内的多个组件。这取决于用例。请参阅First steps with Docker此处的页面:http: //docs.docker.io/use/basics/

也可以看看:

于 2014-05-28T17:04:46.443 回答
2

所以。

  1. 它是关于提供您通过虚拟化获得的进程分离而没有开销。当然,这并不是没有代价的——在这种情况下,最大的代价是你的停靠容器都将在同一个内核下运行。
  2. 容器大致是一个 chroot(具有更好的进程封装)和一些以太网虚拟化。映像是安装以提供根文件系统^1 的文件系统(加上一些位)
  3. deploy只是 docker 用于启动容器实例的术语。

实际上,容器的每个运行实例都认为它是该机器上唯一运行的 ^2(很像通常设计的云设备)。与在主机操作系统上运行相比,它提供了更多的进程分离,并允许根据需要轻松启动容器的多个单独副本;同时提供比使用完全虚拟化所需的低得多的开销。

^1: 实际上可能有几层文件系统夹在一起形成根文件系统。

^2:Docker 确实支持在单个实例中运行多个进程,但这通常被认为是某种高级用法。

于 2014-05-28T16:44:52.477 回答