理解Docker “容器主机”和“容器操作系统”的关系

http://www.floydhilton.com/docker/2017/03/31/Docker-ContainerHost-vs-ContainerOS-Linux-Windows.html
在docker容器里,查看操作系统:

cat /etc/issue

查看宿主机的操作系统

lsb_release -a

定义:
容器主机(Container Host):也称为主机操作系统(Host OS)。主机操作系统是Docker客户端和Docker守护进程运行的操作系统。对于Linux和非Hyper-V容器,主机操作系统与运行Docker容器共享其内核。对于Hyper-V,每个容器都有自己的Hyper-V内核。

容器操作系统(Container OS):也称为基础操作系统(Base OS)。基础操作系统是指包含操作系统(如Ubuntu、CentOS或windowsservercore)的镜像。通常,您会在基础操作系统镜像的基础上构建自己的镜像,以便可以使用操作系统的某些部分。请注意,windows容器需要基础操作系统,而Linux容器则不需要。

操作系统内核(Operating System Kernel):内核管理内存管理、文件系统、网络、进程调度等底层功能。
在这里插入图片描述
在上面的例子中

  • 主机操作系统是Ubuntu。
  • Docker客户端和Docker守护进程(统称为Docker引擎)在主机操作系统上运行。
  • 每个容器共享主机操作系统内核。
  • CentOS和BusyBox是Linux基础操作系统映像。
  • “No-OS”容器演示了在Linux中运行容器不需要基础操作系统。您可以创建一个Docker文件,它的基础镜像scratch,然后运行一个直接使用内核的二进制文件。
    在这里插入图片描述
    在上面的例子中
  • 主机操作系统是Windows 10或Windows Server。
  • 每个容器共享主机操作系统内核。
  • 所有windows容器都需要nanoserver或windowsservercore的基础操作系统。
    在这里插入图片描述
    在上面的例子中
  • 主机操作系统是Windows 10或Windows Server。
  • 每个容器都托管在自己的轻量级Hyper-V虚拟机中。
  • 每个容器都使用Hyper-V VM中的内核,该内核在容器之间提供了一个额外的隔离层。
  • 所有windows容器都需要nanoserver或windowsservercore的基础操作系统。
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值