中间件速查手册
容器与编排Container

容器 是什么?

镜像的运行实例,共享宿主机内核的隔离进程

类比:用同一个镜像开出来的多个实例,但比虚拟机轻得多

本质是什么

容器就是被 Namespace 隔离、被 Cgroup 限制资源的普通进程。Namespace 让它看不到别的进程和网络,Cgroup 限制它能用多少 CPU 和内存,rootfs 决定它看到什么文件。

和虚拟机的区别

这是最常被问的问题,一句话:虚拟机虚拟硬件,容器隔离进程。

  • 启动:容器秒级,虚拟机分钟级
  • 体积:容器 MB 级,虚拟机 GB 级
  • 隔离:虚拟机更强(独立内核),容器共享内核
  • 密度:一台机器能跑上百容器,十几个虚拟机

生命周期

容器的主进程(PID 1)退出,容器就结束。所以启动脚本要用 exec 把信号传给应用,否则 docker stop 会等 10 秒超时才强杀。

它出现在这些中间件里

相关问题

相关概念