LXC
有了前两节的基础,我们已经可以,创建出一个隔离环境了,也就是有了所谓的名称空间,有了名称空间,我们应该往名称空间内放什么东西呢。。。
假如我们在一个centos的机器上,想创建出一个ubuntu的名称空间,最起码我们应该将ubuntu的文件树这类的东西拿到我们本地来,在本地的一个目录下面找一个节点,将其初始化为根节点,将这个东西全都放进去,那么这些东西从何而来呢,这个时候就有了一个工具LXC,使用LXC的时候,LXC将会给我们创建一个名称空间,并且再此基础上,从他的仓库中,将所对应的文件全部拉到本地,然后进行一系列的初始化,最终将该名称空间下的6的命名空间全部写出来,此时我们就可以像虚拟机一样使用这个容器了。但是问题又出现了,我们如何将我们这个创建的名称空间迁移,如果我们要创建很多很多这样的名称空间,又该如何!在资源使用这方面,LXC确实比虚拟机要好,但是如何大规模使用,目前看来也没有什么好的解决方式,此时docker就出来了
docker
docker说白了其实就是一个工具,使用这个工具来操作内核,由内核来创建隔离空间,docker也是一个类似与LXC的工具,只不过比他功能更加强大,而容器技术是linux本身就有的。但是有了docker,我们可以更加方便的使用容器,而docker让这一切变得简单的原因就在于他的一个初始化过程的变化,他使用了镜像这种技术,不在从官方那边拉文件,而且将所有需要的东西全部打包成一个镜像,当名称空间初始化完成了之后,使用这个镜像文件&#x