学员中心登录
IT猎户网
IT就业网
博睿云
IT易学网
营运协同系统
联系我们
18922156670
English
集团站
切换校区
广州
深圳
全部课程
软件开发
Java
Java高级软件工程师
UI设计
UI高级设计师
HTML5
HTML5高级前端工程师
大数据
大数据高级软件工程师
华为认证
HCIA
Datacom
/
Security
/
Storage
/
Big-Data
/
Cloud
/
DC
/
UC
/
R&S
/
WLAN
/
Transmission
/
AI
/
IOT
/
GaussDB
/
Kunpeng
HCIP
Datacom
/
R&S
/
Security
/
Storage
/
Big-Data
/
Cloud
/
DC
/
UC
/
WLAN
/
Transmission
/
IOT
AI
HCIE
Datacom
/
R&S
/
Security
/
Storage
/
Big-Data
/
Cloud
/
DC
/
UC
/
WlAN
/
Transmission
思科认证
CCNA
R&S
/
Security
/
SP
/
DC
/
Collaboration
/
Enterprise
/
Cloud
CCNP
R&S
/
Security
/
SP
/
DC
/
Collaboration
/
Enterprise
/
Cloud
CCIE
R&S
/
Security
/
SP
/
DC
/
Collaboration
/
Wireless
微软认证
MTA
IT Fundamentals
/
Database Fundamentals
/
Development Fundamentals
MCSA
Windows Server(服务器)
/
SQL Server(数据库)
MCSE
Windows Server(服务器)
/
SQL Server(数据库)
数据认证
Oracle(甲骨文)
OCA
OCA 12C甲骨文认证专员
OCA 11g甲骨文认证专员
OCP
OCP 19C甲骨文认证专家
OCP 12C甲骨文认证专家
OCP 11g甲骨文认证专家
OCM
OCM 12C甲骨文认证大师
OCM 11g甲骨文认证大师
MySQL
MySQL技能班
MySQL精英强化班
红帽认证
RHCSA
RHCSA 8.0 红帽认证系统管理员
RHCSA 7.0 红帽认证系统管理员
RHCE
RHCE 8.0 红帽认证工程师
RHCE 7.0 红帽认证工程师
RHCA
红帽认证云计算工程师
OpenStack
OpenStack认证工程师
RHCVA
红帽认证虚拟化工程师
Docker
Ansible
Cloudera
Apache Hadoop管理员
Apache HBase
Spark及Hadoop开发员
数据分析师:Pig、Hive和Impala
Cloudera检索培训
Spark和Hadoop上的数据科学
其他课程
VMware
Python系统运维
Python网络运维
CompTIA
ITIL
CISSP
AIX
F5
Citrix
Bigdata
PMP
阿里云ACA
阿里云ACP
渗透入侵与信息安全
首页
优选课程
华为认证
红帽认证
甲骨文认证
JAVA认证
UI认证
HTML5认证
python认证
思科认证
职业技能等级证书
红帽培训订阅
高校合作
合作理念
合作院校
合作形式
案例分析
企业定制
服务理念
服务内容
服务特色
服务流程
案例汇集
合作名企
考试中心
热门认证考试
预约考试
官方授权考试服务
考场环境
考试流程
考试资讯
学习资源
学习文章
学习视频
关于我们
企业介绍
企业文化
企业环境
密码登录
验证码登录
获取验证码
验证码已发送,请查收短信
微信
电话
复制成功
微信号:
togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
新闻资讯
腾科动态
腾科新闻
业界新闻
考试资讯
业界新闻
当前位置:
首页
> >
业界新闻
> >
什么是Docker
发布时间:
2022-05-30 11:17:06
什么是Docker
?Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司(后改名为Docker Inc)内部的一个开源的PaaS服务的业余项目。其基于谷歌公司推出的Go语言进行开发实现,后加入Linux基金会,遵从Apache 2.0协议,项目代码在GitHub上进行维护。
Docker是基于Linux内核的cgroup、namespace以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他的隔离的进程,因此也称其为容器。
Docker最初的实现是基于LXC(Linux Containers)。LXC是Linux原生支持的容器技术,可以提供轻量级的虚拟化。可以说Docker就是基于LXC发展起来的,提供LXC的高级封装和标准的配置方法。在LXC的基础之上,Docker进行了进一步的封装,从文件系统、网络互联到进程隔离等待,极大地简化了容器的创建和维护,使得Docker技术比虚拟机技术更为轻便、快捷。
从Docker 0.7以后开始去除了LXC,转而使用自行开发的libcontainer;从Docker 1.11开始,则进一步演进为使用runC和containerd。
Docker的主要目标是“Build、Ship and Run Any App、Anywhere”,即通过对应用组件的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)等生命周期的管理,达到应用组件级别的“一次封装,到处运行”(Build once,Run anywhere)。这里的应用组件,既可以是一个Web应用,也可以是一套数据库服务,甚至是一个操作系统。
将应用运行在Docker容器上,可以实现跨平台、跨服务器,只需一次配置准备好相关的应用环境,即可实现到处运行,保证研发和生产环境的一致性,解决了应用和运行环境的兼容性问题,从而极大地提升了部署效率,减少故障的可能性。
Docker与虚拟机有着类似的资源隔离和分配的特点,但不同的架构方法使Docker能够更加便携、高效(见图1)。
图1 VM与Docker架构比较
传统的虚拟机架构是:物理机→宿主机操作系统→Hypervisor支持→虚拟机操作系统→应用程序。虚拟机是在宿主机上基于Hypervisor虚拟出一套操作系统所需的硬件设备,并在这些虚拟硬件上安装操作系统Guest OS,运行不同的应用程序,应用之间实现相互独立、资源隔离。
但由于需要Hypervisor来创建虚拟机,且每个虚拟机里需要完整地运行一套操作系统Guest OS,因此会带来很多额外资源的开销。
Docker的架构是:物理机→宿主机操作系统→Docker引擎→应用程序。Docker容器中没有Hypervisor这一层,虽然它需要在宿主机中运行Docker Engine,但原理却完全不同于Hypervisor,并没有虚拟出硬件设备,更没有独立部署全套的操作系统Guest OS。
Docker容器是使用Docker Engine而不是管理程序来执行,因此容器比虚拟机小,并且由于主机内核的共享,可以更快地启动,具有更好的性能、更少的隔离和更好的兼容性。
Docker容器能够共享一个内核并共享应用程序库,因此容器比虚拟机具有更低的系统开销,只要用户愿意使用单一平台来提供共享的操作系统,容器可以更快、使用资源可以更少。
虚拟机可能需要几分钟才能创建并启动,而只需几秒钟即可创建并启动一个容器。与在虚拟机中运行应用程序相比,容器中包含的应用程序提供了卓越的性能。
您可能也喜欢:
华为HCIP是什么意思
ddr3和ddr4的区别
考了华为认证如何找工作
linux查看内存cpu
it培训机构哪个好
分享到:
QQ空间
新浪微博
腾讯微博
人人网
微信
更多
上一篇:
什么是分布式计算
下一篇:
什么是半虚拟化技术
相关课程推荐
华为认证
红帽认证
Oracle认证
思科认证
oracle认证ocp培训课程
oracle考试培训
红帽linux培训班
红帽rhcsa认证
华为hcie题库
十五年老品牌
微信咨询:togogoi
咨询电话:18922156670
咨询网站客服:
在线客服
点击QQ咨询
联系电话:18922156670
在线咨询
在线咨询
×
您好,请问有什么可以帮您?我们将竭诚提供最优质服务!
QQ咨询
下次再说