理解docker 容器OS和主机OS


讨论一下“Container Host”和“Container OS”的关系。

Container Host: 也叫Host OS, Host OS是Docker Client 和Docker Daemon进程运行的宿主机。在宿主机是linux系统,且容器不是Hyper-V容器(轻量级操作系统,用于windows兼容)的情况下,Docker容器和宿主机(Container Host)共享内核。

Container OS: 也叫基础OS(Base OS),Base OS指的是docker容器内应用运行的操作系统,比如Ubuntu, CentOS或windowsservercore。一般情况下,是指定基础镜像的,但是你也可以不指定,在这种情况下,容器直接默认使用宿主机作为基础OS。

容器和虚拟机的区别和联系

相同点

  • 隔离环境:容器和虚拟机都可以提供给进程独立的进程空间,文件系统,环境变量...
  • 主机间移植: 虚拟机可以在不同的Host Hypervisor,容器可以在不同的Container Host间移植。里面的内容可以完全不变。虚拟机和容器都可以保存为镜像。
  • 资源限制: 虚拟机和容器都可以限制带宽,CPU使用率,内存等资源。

不同点

  • 抽象级别:

虚拟机对硬件进行抽象,虚拟机包含完整的操作系统内核,因此你可以在windows上运行linux虚拟机,linux上运行windows虚拟机。但是容器不行,容器不包含完整的操作系统内核,只包含linux发行版必要的软件。因此,你无法在windows上运行linux容器。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM