docker是什么(什么是docker容器技术)
本文目录
什么是docker容器技术
docker容器技术指Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs)
Docker则实现了一种应用程序级别的隔离,它改变我们基本的开发、操作单元,由直接操作虚拟主机(VM),转换到操作程序运行的“容器”上来。
Docker是为开发者和系统管理员设计的,用来发布和运行分布式应用程序的一个开放性平台。由两部分组成:
Docker Engine: 一个便携式、轻量级的运行环境和包管理器。(注* 单OS vs 单线程)
Docker Hub: 为创建自动化工作流和分享应用创建的云服务组成。(注* 云端镜像/包管理 vs npm包管理,是不是跟npm特别像?)
从2013年3月20日,第一个版本的Docker正式发布到 2014年6月Docker 1.0 正式发布,经历了15个月。 虽然发展历程很短,但Docker正在有越来越流行的趋势。
其实Container技术并非Docker的创新,HeroKu, NodeJitsu 等云服务商都采用了类似这种轻量级的虚拟化技术,但Docker是第一个将这这种Container技术大规模开源并被社区广泛接受的。
什么是Docker
docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的GO语言实现,项目后来加入了Linux基金会,遵从apache2.0协议,项目代码在GitHub上进行维护。
docker自开源后受到广泛的关注和讨论,以至于dotcloud公司后来都改名为docker
lnc。Redhat已经在其rhel6.5中集中支持docker,Google也在其PaaS产品中广泛应用。
docker项目的目标是实现轻量级的操作系统虚拟化解决方案,docker的基础是Linux容器等技术。
什么是docker
docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的GO语言实现,项目后来加入了Linux基金会,遵从了apache2.0协议,项目代码在GitHub上进行维护。
docker自开源后受到广泛的关注和讨论,以至于dotcloud公司后来都改名为docker lnc。Redhat已经在其rhel6.5中集中支持docker,Google也在其PaaS产品中广泛应用。
docker项目的目标是实现轻量级的操作系统虚拟化解决方案,docker的基础是Linux容器等技术。
什么是 docker 容器技术
Docker是什么?
简单得来说,Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs); 目前云服务的基石是操作系统级别的隔离,在同一台物理服务器上虚拟出多个主机。Docker则实现了一种应用程序级别的隔离; 它改变我们基本的开发、操作单元,由直接操作虚拟主机(VM),转换到操作程序运行的“容器”上来。
Docker是为开发者和系统管理员设计的,用来发布和运行分布式应用程序的一个开放性平台。由两部分组成:
Docker Engine: 一个便携式、轻量级的运行环境和包管理器。(注* 单OS vs 单线程,是不是跟NodeJS特别像?)
Docker Hub: 为创建自动化工作流和分享应用创建的云服务组成。(注* 云端镜像/包管理 vs npm包管理,是不是跟npm特别像?)
从2013年3月20日,第一个版本的Docker正式发布到 2014年6月Docker 1.0 正式发布,经历了15个月。 虽然发展历程很短,但Docker正在有越来越流行的趋势。
其实Container技术并非Docker的创新,HeroKu, NodeJitsu 等云服务商都采用了类似这种轻量级的虚拟化技术,但Docker是第一个将这这种Container技术大规模开源并被社区广泛接受的。
好的部分
Docker相对于VM虚拟机的优势十分明显,那就是轻量和高性能和便捷性, 以下部分摘自:KVM and Docker LXC Benchmarking with OpenStack
快
运行时的性能可以获取极大提升(经典的案例是提升97%)
管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。
敏捷
像虚拟机一样敏捷,而且会更便宜,在bare metal(裸机)上布署像点个按钮一样简单。
灵活
将应用和系统“容器化”,不添加额外的操作系统,
轻量
你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署100~1000个Containers容器。
便宜
开源的,免费的,低成本的。由现代Linux内核支持并驱动。注* 轻量的Container必定可以在一个物理机上开启更多“容器”,注定比VMs要便宜。
生态系统
正在越来越受欢迎,只需要看一看Google的趋势就知道了,docker or LXC.
还有不计其数的社区和第三方应用。
云支持
不计其数的云服务提供创建和管理Linux容器框架。
如何通俗解释Docker是什么
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和
集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运
走。
docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。
1.不同的应
用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,
而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在
服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,
小就意味着省钱了。
2.你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境
的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就
得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。
3.在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。
总之docker就是集装箱原理。
更多文章:
神舟天运f4000怎么连无线网(神舟天运f4000d4怎样连接wifi)
2023年8月8日 20:40
java程序员推荐笔记本电脑(想学JAVA推荐一下什么笔记本电脑合适)
2024年6月18日 13:45
联想s100可以装win7吗(联想100S可以安装win7BIOS需要怎么改)
2023年12月1日 21:30
华硕k40ab开机屏幕不亮(华硕笔记本k40ab开机启动不了,显示器不亮,鼠标有光,外接显示器也无信号,拔掉内存重插也无用)
2024年5月29日 02:20
联想天逸f41a7757(关于联想天逸F41A7757光驱)
2024年8月9日 19:55
联想y460双显卡驱动怎么安装(win7双显卡驱动怎么安装)
2024年4月24日 18:00
华硕笔记本x541n论坛(新买的笔记本鲁大师评分特别低,用着也卡,华硕笔记本x541n,四核)
2023年5月11日 10:45
华硕nx90(华硕新发布一款堪称颠覆性的音乐巨擘笔记本NX90,据说代言人是赵胤胤,赵胤胤不是谈钢琴的啊)
2024年3月16日 02:25
戴尔官网保修(戴尔官网的保修信息怎么看 求懂的人来解释下 ,那几项都什么意思,到底还在保修期内不 高分!!!!!)
2024年6月13日 00:49
电脑硬盘太小了可以加吗(家里电脑磁盘空间太小了,怎么扩大空间)
2024年5月26日 18:04
戴尔790dt驱动(DELL optiplex 790驱动问题!)
2024年6月17日 23:04