zoukankan      html  css  js  c++  java
  • Docker两个问题的讨论

    docker中的container到底可不可以理解为一个操作系统?

    先表明态度,我的理解是,NO。

    主机级虚拟化

    容器级虚拟化

      容器通过Docker的守护进程(Docker daemon)来进行创建,现在docker公司对于Docker daemon进行了重构,现在这个任务被拆解为一个名叫containerd工具来管理容器的生命周期,由LXC(现在是runc)基于库文件来启动创建容器。

    简单说明

      主机级虚拟化提供应用服务通过虚拟出一个VM来提供服务

      容器级虚拟化通过Docker daemon及其工具直接使用宿主机内核来直接提供集装箱一样的服务

      这一张网上的图片说的比较生动,在lHOST启动中,从bootfs动bootloader来引导kernel,在Docker中,docker的images通过HOST OS的kernel和LXC程序(现在是RUNC)来启动一个镜像,当镜像成功被启动后,进入rootfs,蓝灰层也会被卸载掉。而rootfs就是linux文件系统。

     

    docker中处于stop的container数据被存储在哪里?

      在openstack中,虚拟机在挂起或关闭状态时,所有的资源都会被释放,各个节点将虚拟机的信息记录下来,作为一个模板存储进数据库,当这个虚拟机恢复到启动状态时的过程,就是各个节点通过已经记录下的模板重新创建一个虚拟机。

      我的推测,docker采用分层构建镜像的方式,通过只读层来记录容器的状态,例如基于Dockerfile构建容器时,更改Dockerfile中的顺序,容器启动速度明显变慢。说明重新构建。

  • 相关阅读:
    Docker部署Mysql实践
    Docker部署Zookeeper部署集群实践(2)
    Docker部署Zookeeper部署实践(1)
    Docker部署Jenkins 2.285版持续部署集成实践(1)
    Ubuntu18.04安装docker
    Git的配置
    C语言的一些小知识
    线段树模板整理
    关于Kmp
    HDU-2063(二分图匹配模板题)
  • 原文地址:https://www.cnblogs.com/Y139147/p/11596350.html
Copyright © 2011-2022 走看看