关于boot2docker:从外行的角度理解docker

Understanding docker from a layman point of view

我对码头工人来说只有一天大,所以对我来说这是一个相对新的时代。

我读了docker.io,但没能找到几个基本问题的答案。这是它是什么:

  • Docker基本上是一个工具,它允许你利用这些图片,通过安装软件来旋转你自己定制的图片,这样你就可以用它来创建虚拟机。
  • 从10000英尺的鸟瞰图来看,这就是Docker的全部所在吗?

    2。集装箱的确切含义是什么?它是图像的同义词吗?

    三。我记得在某个地方读到过,它允许您部署应用程序。这是正确的吗?换句话说,在部署.NET应用程序时,它的行为是否像IIS?

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


    1) What docker is all about from a 10000 ft bird's eye point of view?

    网址: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的地址:

    • https://www.docker.io/整个故事/
    • https://www.docker.io/the ou whole ou story/why-should-i-care-(针对开发人员)
    • https://www.docker.io/the ou whole_story/why-should-i-care-(对于devops)

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

    • http://docs.docker.io/简介/技术/

    2) What exactly is the meaning of a container ? Is it synonymn for image?

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

    • http://docs.docker.io/en/latest/terms/image网站/
    • http://docs.docker.io/en/latest/terms/layer网站/

    容器是映像的活动(如果退出,则为非活动)状态实例化。

    • http://docs.docker.io/en/latest/terms/container网站/

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

    3)I remember reading somewhere that it allows you to deploy applications. Is this correct ? In other words will it behave like IIS for deploying the .net applications?

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

    参见:

    • http://docs.docker.io/examples/nodejs_web_应用程序/
    • http://docs.docker.io/examples/python_web_应用程序/
    • http://docs.docker.io/examples/runningu redisu服务/
    • http://docs.docker.io/examples/使用监管/

    所以。

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

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

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