Docker,K8s,KVM,Hypervisor和微服务有什么区别联系吗? - 知乎
docker容器
容器实现封闭的环境主要要靠两种技术,一种是看起来是隔离的技术,称为 namespace(命名空间)。在每个 namespace 中的应用看到的,都是不同的 IP 地址、用户空间、进程 ID 等。另一种是用起来是隔离的技术,称为 cgroup(网络资源限制),即明明整台机器有很多的 CPU、内存,但是一个应用只能用其中的一部分。
所谓镜像(Image),就是在你焊好集装箱的那一刻,将集装箱的状态保存下来。就像孙悟空说:“定!”,集装箱里的状态就被“定”在了那一刻,然后这一刻的状态会被保存成一系列文件。无论在哪里运行这个镜像,都能完整地还原当时的情况。
好处
第一就是持续集成。
想象一下,你写了一个程序,然后把它打成了上面一样的镜像。你在本地一运行 docker run 就把他运行起来了。接下来,你交给测试的就不是一个“程序包 + 配置 + 手册”了,而是一个容器镜像了。测试小伙伴同样通过 docker run 也就运行起来了,不存在“你这里跑的起来,他那里跑不起来的情况”。测试完了再上生产,交给运维的小伙伴也是这样一个镜像,同样的运行同样的顺畅