Docker OS container

Docker是一种轻量级的虚拟化解决方案,不同的container共享同一个HOST  OS,利用的是Linux的namespace和cgroup技术;namespace为不同的container提供隔离环境,cgroup为不同的container提供资源划分。这与VM的虚拟化方案不同,VM的虚拟化方案直接在Guest运行一个完整的OS,每个VM都有自己的kernel;



既然不同的container共享同一个HOST OS,那为什么还存在OS的image呢?如果用docker去启动一个OS的image,那这时候Guest运行的是否是一个完整的OS呢?

如下图所示,在一个Linux HOST上运行三个OS image(Ubuntu 、REHL 7、Centros),那这三个container里运行的是一个完整的OS吗?


答案显示不是。


不同的Linxu发行版本,主要的差异在于不同的用户态软件包。因此Docker通过在运行一个OS的image就可以为我们模拟出一个不同的用户态运行环境,

比如在 ubuntu的HOST上安装一个Centros的容器,那我们就可以获得contros的用户态运行环境,所以可以把docker看成是一种提供更加高级的chroot环境的工具。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值