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 可以帮助我们做到:

    • 隔离应用的依赖和环境
    • 创建容易分发的,即启即用的,便于复制的应用
    • 允许我们的应用实例简单,快速地扩展
    • 快速部署测试环境,测试应用后销毁

Docker初步了解的更多相关文章

  1. Docker初步认识安装和简单实例

    前话 问题 开发网站需要搭建服务器环境,FQ官网下载软件包,搭建配置nginx,apache,数据库等.官网没有直接可用的运行版本,担心网络流传的非官方发布软件包不安全还得自行编译官方源码安装,忘记步 ...

  2. Docker初步了解 2016-10-30 20:46 279人阅读 评论(31) 收藏

    什么是docker? Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器. Docker本质上是一种软件,让用户创建镜像(很像虚拟机的模板),并且随后在容器里 ...

  3. docker初步

    [Note,]由于docker的局限性,docker只能运行在64位的系统中 docker软件应用程序可以重复地运行在任何地方,因为它的容器包含了所有的环境依赖关系! docker有三种方式运行 作为 ...

  4. Docker 初步认识

    1.docker 是什么? 一个开源的应用容器引擎,个人理解 就是虚拟的应用运行环境. 2.安装Docker for windows 下载地址 :https://store.docker.com/ed ...

  5. docker 初步使用

    CentOS Linux release 7.2.1511 Docker version 17.03.1-ce 安装与启动 yum直接安装的docker版本较低,推荐这样安装: # 官方,可能网络连不 ...

  6. docker 初识之二(简单发布ASP.NET Core 网站)

    在发布ASP.NET Core网站以前,先介绍一下DaoCloud 一个免费的docker云容器服务平台.登陆官方网站,创建一台docker主机,这台主机有120分钟的使用时间,对于鄙人学习使用正好合 ...

  7. Docker技术综述

    从技术入门到实战:docker初步尝试 docker中文社区 容器和镜像的导入和导出

  8. 阿里云ECS(Centos7.2 64bit)安装Docker

    购买了阿里云的ECS服务器后,一直在尝试安装Docker,使用过Ubuntu和CentOS系统,也一直在查找文档,但都是Docker安装完成后却无法访问,一直在ECS上不停的更换系统盘 再次按官方文档 ...

  9. 总结对Docker这个东西的想法

    记得一开始的时候,还只能在一些网站上看到关于Docker零星的一些消息,之后的不久,有关Docker消息就遍布网络. 是什么因素让Docker火起来的? 或者说什么原因促使大家都对Docker感兴趣并 ...

随机推荐

  1. sqlmap用户手册 [详细]

    当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数 2.判断可以用那种SQL注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些数据 sqlmap支持五种不同的注入模式: ...

  2. AmpOne

    AmpOne 基于Windows平台的Apache .PHP.Mysql 开发环境 | One intergrated tools package of Apache + PHP + MySQL fo ...

  3. JS学习笔记——数组去重

    <script type="text/javascript"> //indexOf"是ECMAScript5方法,IE8以下不支持,需多写兼容低版本浏览器代码 ...

  4. 编译MapWinGis

    其实在github下载的MapWinGIS代码,在support文件夹下的build文件夹下的HowToBuild说明已经写的很清楚了, * How to build MapWinGIS.ocx** ...

  5. java中计算两个时间差

    java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方 ...

  6. SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)

    1/首先建立数据表 CREATE TABLE BasicMsg( RecvTime FLOAT NOT NULL , --接收时间,不存在时间相同的数据 AA INT NOT NULL, --24位地 ...

  7. Spring boot 1: 使用IDEA创建Spring boot项目

    项目用到的环境: Windows 10 JDK8 IntelliJ IDEA 2017.1.3 Apache Tomcat 8 Maven 3.3.3 使用IDEA新建spring boot项目 新建 ...

  8. JAVA基础-JSON

    /** * 1.根据接收到的JSON字符串来解析字符串中所包含的数据和数据对象 */ System.out.println("1.根据接收到的JSON字符串来解析字符串中所包含的数据和数据对 ...

  9. celery_01 _celery安装启动

    简介:celery是一个分布式队列的管理工具,提供了快速管理和操作分布式任务队列的一些方法的框架 特点:1.celery易于使用和维护,不需要进行很复杂的配置,简单的celery例子: from ce ...

  10. 怎么用jq封装插件

    怎么用jq封装插件 以隔行变色为例 实现原理:1.找到表格的奇偶行,然后添加不同的class,激活行高亮显示也很简单,只要判断mouseover事件,然后添加一个class,mouseout的时候,再 ...