从外行的角度理解码头工人

时间:2014-05-28 16:17:56

标签: docker boot2docker

我只有一天到码头,所以这对我来说相对来说很新。

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

  1. Docker基本上是一个工具,它允许您通过安装软件来利用图像并调整自己的自定义图像,以便您可以使用它来创建VM。
  2. 对于这个10000英尺的鸟瞰图来说,码头是什么?

    2。容器究竟是什么意思?它是图像的同义词吗?

    3。我记得在某处读它可以让你部署应用程序。它是否正确 ?换句话说,它会像IIS一样部署.net应用程序吗?

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

2 个答案:

答案 0 :(得分: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.

深入了解更多,并详细解释了什么/为什么泊坞的地址:

可以在技术文档中找到更深入的内容:

  

2)容器的含义究竟是什么?它是图像的同义词吗?

图像是构建的图层集,可以移动。图像是只读的。

容器是图像的活动(或退出时无效)有状态实例化。

另请参阅:In Docker, what's the difference between a container and an image?

  

3)我记得在某处阅读它允许你部署应用程序。它是否正确 ?换句话说,它会像IIS一样部署.net应用程序吗?

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

另见:

答案 1 :(得分:2)

所以

  1. 它提供了虚拟化所带来的进程分离,而没有开销。当然,这并不是没有成本的 - 在这种情况下,最大的一个就是你的停靠容器都将在同一个内核下运行。
  2. 容器大致是chroot(具有更好的进程封装)和一些以太网虚拟化。图像是安装的文件系统(加上几个位),以提供根文件系统^ 1
  3. deploy只是docker用于启动容器实例的术语。
  4. 实际上,容器的每个运行实例都认为它是唯一在该机器上运行的^ 2(就像通常设计的云设备一样)。它提供了比在主机操作系统上运行所提供的更多的进程分离,并允许根据需要轻松地旋转多个单独的容器副本;虽然提供比使用完全虚拟化要多得多,低得多的开销。

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

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