【问题标题】:Understanding docker from a layman point of view从外行的角度理解 docker
【发布时间】:2014-07-17 23:43:18
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: docker boot2docker


    【解决方案1】:

    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) 容器的具体含义是什么?是图像的同义词吗?

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

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

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

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

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

    另见:

    【讨论】:

      【解决方案2】:

      所以。

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-12
        • 2021-06-29
        • 1970-01-01
        • 2014-11-24
        • 2017-11-23
        相关资源
        最近更新 更多