什么是Docker? 为什么要用Docker?

一、什么是Dokcer?

Docker是一个开源项目, 诞生于2013年初, 最初是dotCloud公司内部的一个业余项目。 它基于Google公司推出的Go语言实现。 项目后来加入了Linux基金会, 遵从了Apache 2.0协议, 项目代码在GitHub上进行维护。

Docker自开源后受到广泛的关注和讨论, 以至于dotCloud公司后来都改名为Docker lnc。Redhat已经在其RHEL 6.5中集中支持Docker; Google也在其PaaS产品中广泛应用。

在LXC的基础上Docker进行了进一步的封装, 让用户不需要去关心容器的管理, 使得操作更为简便。 用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。

二、为什么要用Docker?

作为一种新兴的虚拟化方式, Docker跟传统的虚拟化方式相比具有众多的优势。
     首先, Docker容器的启动可以在秒级实现, 这相比传统的虚拟机方式要快得多, 其次, Docker对系统资源的利用率很高, 一台主机上可以同时运行数千个Docker容器。
     容器除了运行其中应用外, 基本不消耗额外的系统资源, 使得应用的性能很高, 同时系统的开销尽量小。 传统虚拟机方式运行10个不同的应用就要起10个虚拟机, 而Docker只需启动10个隔离的应用即可。

更快速的交付和部署

对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。
开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。

更高效的虚拟化

Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。

更轻松的迁移和扩展

Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。

更简单的管理

使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。

对比传统虚拟机总结

时间: 2024-10-07 06:00:25

什么是Docker? 为什么要用Docker?的相关文章

【Docker江湖】之docker部署与理解

转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer Docker江湖 [Docker江湖]之Docker部署与理解 [Docker江湖]之hub上镜像的使用,Dockerfile语法解读和数据管理 [Docker江湖]之创建带有SSH服务的镜像 写在前边的话 在之前便想学习Docker技术了,可是一直没有机会,近期在做elk的一个项目

【docker】01、docker简介

一.docker简介 Docker 官网:http://www.docker.com Github Docker 源码:https://github.com/docker/docker 1.docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 i

Docker学习笔记(2)--Docker常用命令

原文地址:http://blog.csdn.net/we_shell/article/details/38368137 1. 查看docker信息(version.info) [plain] view plaincopy # 查看docker版本 $docker version # 显示docker系统的信息 $docker info 2. 对image的操作(search.pull.images.rmi.history) [plain] view plaincopy # 检索image $do

用docker搭建测试环境--docker的基本操作

上一篇文章中最后执行了docker pull centos的指令,经过一段时间的等待,会从hub.docker.com上下载docker官方最新的centos的images,接下来熟悉一下docker的一些基本操作.1.查看本地的imagesdocker images 2.从hub.docker.com拉取响应的imagesdocker pull images 3.运行指定的images,并在images里边执行command命令docker run images command 4.查看当前运

Docker Machine快速安装Docker环境

什么是Docker Machine? Machine是一个简化安装Docker环境的工具.怎么简化法,例如,在ubuntu安装一个docker环境要按照U这个系统配置教程来装,哪天又换了CentOS系统,又要按照这个系统配置教程装.市场上主流Linux系统版本很多,每次安装岂不有些麻烦.使用Machine工具就简单很多,一两条命令即可在主流Linux系统上安装Docker环境,用户不用考虑什么操作系统. 另一方面,Machine还具备Docker工具管理什么虚拟化技术,Generic驱动默认管理

【docker】02、docker安装

一.在CentOS上安装Docker 以下版本的CentOS 支持 Docker : CentOS 7 (64-bit)       # CentOS 从 7 开始,和 RHEL 7 一样都只支持 64 位架构. CentOS 6.5 (64-bit) or later 请注意,由于 Docker 的局限性,Docker 只能运行在64位的系统中. 内核支持 Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,需要内核版本是 2.6.32-431 或者更高版本 ,因为这

Docker学习总结之docker入门(转自:Vikings翻译)

Understanding Docker 以下均翻译自Docker官方文档 What is Docker? Docker 是一个开源的平台,设计目标是可以方便开发,方便部署和方便执行应用.使用docker可以快速分发开发好的应用.借助于Docker,你可以将开发平台和应用分离开,并且像管理应用一样管理开发平台.Docker可以帮助你快速开发应用,快速测试应用,快速部署应用,并且缩短开发代码和执行代码之间的周期间隔. Docker 是凭借一个轻量级容器的虚拟化平台工作流和相关工具来达到上述功能的,

docker专题(2):docker常用管理命令(上)

http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: 容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|ex

docker 学习笔记之docker连接网络的设置

1.如果docker主机不需要通过代理连接外网 则docker的相关命令(如docker search)或docker容器与网络相关的操作都可以正常进行,不需要特殊设置. 2.当docker主机 是通过代理才能连接外网时,采用服务方式启动守护进程 如果docker守护进程是通过服务的方式启动的(sudo start docker) 当我们执行如  docker search ubuntu 命令时,会报错 Error response from daemon: Get https://index.

一步步创建第一个Docker App —— 2. 创建 Docker化 主机

原文:https://docs.docker.com/engine/getstarted-voting-app/node-setup/ 部署voting app的第一步,是为集群节点(swarm nodes)创建 Docker machines.我们可以在不同的实体PC.虚拟机或者云服务器上创建这些 Docker化 的主机. 在本例中,我们使用Docker Machine来创建两个虚拟机(virtual machines)在同一个系统上(See Docker Machine Overview t