1)Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用。
2)LXC是基于Cgroup等Linux kernel功能的,因此Container的Guest系统只能是Linux base的。
3)网络限制
容器网络(Docker Network )让你可以方便地在同一主机下对容器进行网络连接。加上一些其他的工作,你就可以跨主机使用叠加网络功能。然而,也就到此为止了。网络配置操作是受限的,而且到目前为止可以说这些手段都是人工的。尽管容器脚本化可以规模化,因为你必须给网络定义增加预分配实例,每次提供容器时还需要额外步骤,这容易引起错误。
4)cgroup的cpu和cpuset提供的cpu功能,相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)。
5)docker对disk的管理比较有限。
6)container随着用户进程的停止而销毁,container中的log等用户数据不便收集。
7)库控制受限
库已经成为任何容器会话的中心议题。公共库是最有价值的,因为他贡献了大量的预置容器,节省了许多的配置时间。然而,在沙盒里使用它是有风险的。在不知道谁以及如何创建镜像的情况下,可能会存在任意数量的有意或无意的稳定性和安全性风险。对于企业来说,有必要建立和维护一个私有库,这个库的建立挑战不大,但管理是个问题。Docker为大型库的镜像管理提供了一个有限的元数据模型,确保未来实例如预期的能力受限,也没有叠加功能。
8)没有清晰的审计跟踪
提供容器是很简单的,但知道提供容器的时间、原因、方式以及提供方却不容易。因此,在提供之后,你并不掌握多少出于审计目的的历史。运行实例的低可见性:如果没有经过深思熟虑的行动,实例提供后很难接触到运行容器的对象,也很难知道哪些应该出现在那里,哪些不应该出现在那里
《docker视频教学》