Docker的局限之处
Posted 马哥Linux运维
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker的局限之处相关的知识,希望对你有一定的参考价值。
Docker,一个新的容器技术,它能够在相同的旧服务器上运行的更多的应用程序,这也使得它很容易打包和发布程序。它可以得到相同的硬件上比其他技术运行更多的应用(小的开销内存/ CPU/硬盘,这意味着更低成本);它使开发人员能够快速创建简单的,现成的运行容器化应用;它使管理和部署应用程序更加容易。但docker在使用中也面临着诸多问题,以下将为大家列出docker的缺点
容器网络(Docker Network )让你可以方便地在同一主机下对容器进行网络连接。加上一些其他的工作,你就可以跨主机使用叠加网络功能。然而,也就到此为止了。网络配置操作是受限的,而且到目前为止可以说这些手段都是人工的。尽管容器脚本化可以规模化,因为你必须给网络定义增加预分配实例,每次提供容器时还需要额外步骤,这容易引起错误。
库已经成为任何容器会话的中心议题。公共库是最有价值的,因为他贡献了大量的预置容器,节省了许多的配置时间。然而,在沙盒里使用它是有风险的。在不知道谁以及如何创建镜像的情况下,可能会存在任意数量的有意或无意的稳定性和安全性风险。对于企业来说,有必要建立和维护一个私有库,这个库的建立挑战不大,但管理是个问题。Docker为大型库的镜像管理提供了一个有限的元数据模型,确保未来实例如预期的能力受限,也没有叠加功能。
提供容器是很简单的,但知道提供容器的时间、原因、方式以及提供方却不容易。因此,在提供之后,你并不掌握多少出于审计目的的历史。运行实例的低可见性:如果没有经过深思熟虑的行动,实例提供后很难接触到运行容器的对象,也很难知道哪些应该出现在那里,哪些不应该出现在那里
Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:
1、Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
2、LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
3、隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
4、网络管理相对简单,主要是基于namespace隔离
5、cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
7、container随着用户进程的停止而销毁,container中的log等用户数据不便收集
马哥教育历经近10年发展,已成为面向企业级资深运维工程师、架构师的专业集训营式高端就业Linux培训学院。凭借多年良好口碑,其已经成为业内知名互联网公司重要人才战略合作伙伴,获得了百度、腾讯、阿里、大众点评、51CTO、唯品会、京东、中移动、新浪、红帽等互联网巨头的合作支持。毕业学员平均薪资达10K以上,累计受益人员达百万+。
以上是关于Docker的局限之处的主要内容,如果未能解决你的问题,请参考以下文章
docker 和 k8s 面试总结
Docker在进程管理
docker02docker安装
docker ubuntu
docker常用命令
Docker 简单运用