Docker初步了解

Docker 是什么

https://www.docker.com/

Docker 这个单词英文原意是码头工人,搬运工的意思,这个搬运工搬运的是各种应用的容器。

官方的说法是,Docker 是提供给开发者和系统管理员一个分布式应用的开放平台。在更多人的理解中,Docker 是一种把你的应用或者服务打包后放在容器中运行的技术。

Docker 可以说有三个关键点:构建,运输,运行。这三个词可以对应我上述提到的那句话,构建即为打包,既然是打包了,那么就需要可以方便地搬运到各个地方,为什么要搬运呢?归根到底,我们是要运行打包了的应用和服务。

Docker 存在的意图是让你把各种语言编写的程序应用以带有普适性的形式打包好,你只要拿到打包好的东西,可以忽略程序本身依赖的环境或者开发的语言,直接使用 Docker 便可以运行起来。在这个实际意义之上,最重要的是 Docker 提供了容器技术来隔离多个打包的应用或者服务之间的相互影响,同时由于打包的东西具有普适性,那么在应用规模的层面上也很便于扩展。

对于运维的管理人员,Docker 提供了一种可移植的标准化部署流程,对于开发者,Docker 提供了一种开发环境的管理方法。

为什么要使用 Docker

https://www.docker.com/enterprise

上述已经提到 Docker 的很多优点,其中,我个人感觉最重要的一点是:普适性,使用 Docker 打包好的应用或者服务,你可以忽略原本程序的依赖以及开发语言。这意味着,当你需要使用多个应用程序代码或者服务时,你不再需要对其一一去处理依赖的环境和类库工具等,直接是安装一个 Docker 就可以上手,这大大提高了部署效率。同时,由于打包好的应用或服务便于
部署的缘故,那么进行应用规模层面的扩展也变得简单的多,并且 Docker 还提供了关于扩展的工具。

对于开发者而言,自己实现了一个应用,当然是希望使用者更快更方便地上手,或者是自己使用了别人提供的程序,亦是希望能够更快更方便用上,而 Docker 恰恰就是带来了这一种便利性。你只需要安装一个 Docker,便可以轻松地跑 Redis,MongoDB,PHP,Java,Node.js 等各种应用,还不需要考虑它们之间相互影响,这是一件多么美妙的事情。

所以,综上所述,Docker 可以帮助我们做到:

    • 隔离应用的依赖和环境
    • 创建容易分发的,即启即用的,便于复制的应用
    • 允许我们的应用实例简单,快速地扩展
    • 快速部署测试环境,测试应用后销毁
原文地址:https://www.cnblogs.com/YatHo/p/7017252.html