Docker与虚拟机区别

虚拟机会完全虚拟出来一个系统,虚拟操作系统的内核和cpu占用系统的资源
docker并没有虚拟化操作系统的内核,而是直接使用宿主机的内核虚拟化软件
优点:docker节省系统资源,轻量级,启动更快
缺点:1.宿主机内核一旦损坏,docker上的所有容器都将无法使用
2.对内核有版本要求时不能使用docker,如编译c++,toB的兼容性测试

image.png

Docker的关键技术

如下图所示:docker中运行多个容器A、B、C、D,每个容器都由3条线组成的空间隔离开,这3条线可以理解为Namepaces、联合文件系统和Cgroups

image.png