容器技术的发展

容器的前世今生?
  • Docker项目之所以取得如此高的关注,一方面正如前面我们所说的那样,她解决了应用打包和发布这一困扰运维人员多年的技术难题,而另一方面,就是因为它第一次把一个纯后端的技术概念,通过非常友好的设计和封装,交到了最广大的开发者的群体手里。

  • 解决了应用打包的这个根本性的问题,同开发者与生具来的亲密关系,再加上PaaS概念已经深入人心的完美契机,成为Docker 这个技术看似平淡无奇的项目一举二红的重要原因。

对于容器的总结
  • 容器本身没有价值,有价值的是“容器编排”。
  • 容器,其实是一种特殊的进程而已。
为什么容器会发展那么迅速?
  • 容器技术的兴起源于PaaS技术的普及
  • Docker公司发布的Docker项目具有里程碑式的意义
  • Docker项目通过 “容器镜像”,解决了应用打包的这个根本性的难题。
容器技术的核心功能,就是通过约束和修改约束进程的动态表现,从而为其创造出一个“边界”。
Cgroups 技术就是通过制造约束的主要手段,Namespace技术是通过修改进程视图的主要方法。
  • Cgroups 用于linux 系统的资源分配,限制。
  • Mount 该namespace可以让容器拥有自己独立的文件系统,比如容器自己的目录,以及相关的挂载操作。
  • UTS 该namespace 可以让容器拥有自己独立的hostname,比如我们在运行容器时,通过 -h 指定hostname
  • IPC 该namespace 让容器拥有自己的共享内存和信号量,来实现进程间的通信,而不会与宿主机以及其他容器混在一起。
  • PID 让namespace 让容器拥有自己的一套独立的PID,每个容器都是以进程的形式在宿主机中运行。
  • NetWork 该namespace 让容器中拥有自己的独立网卡设备,路由等资源,同样与host 的Network是完全隔离而且完整独立的。
  • User 该namespace 让容器拥有自己独立的用户空间,同样与Host 的user是完全隔离而且完整独立的。

“敏捷”和“高性能” 是容器相对于虚拟机最大的优势,也是它能够在PaaS这种更细粒度的资源管理平台上 大行其道的重要原因。

什么是容器的一致性?
  • 由于云端与本地服务器环境不同,应用的打包过程,一直是使用 PaaS 时最“痛苦”的一个步骤。但有了容器之后,更准确地说,有了容器镜像(即 rootfs)之后,这个问题被非常优雅地解决了。

  • 由于 rootfs 里打包的不只是应用,而是整个操作系统的文件和目录,也就意味着,应用以及它运行所需要的所有依赖,都被封装在了一起。

  • 容器镜像将会成为未来软件的主流发布方式。

问题?
  • 在容器里执行top指令,就会发现,它显示的信息居然是宿主机的Cpu和内存数据,而不是当前容器的数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值