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两个问题的讨论的更多相关文章
- controller 有两种写法,讨论一下两种写法的区别:
controller 有两种写法,讨论一下两种写法的区别: 写法 1: app.controller('myCtrl', function($scope, $location) { $scope.my ...
- ios中@class和 #import,两种方式的讨论
转自:http://blog.sina.com.cn/s/blog_a843a8850101b6a7.html 很多刚开始学习iOS开发的同学可能在看别人的代码的时候会发现有部分#import操作写在 ...
- Docker两种方式进入后台运行的容器
1.在启动容器的时候,有时候我们加了参数-d,这时容器自动进入后台运行.如果我们要进入容器,该怎么办?通常使用docker attach命令和nsenter工具. 2.docker attach是Do ...
- Docker 两键创建 ZeroTier moon 节点
一条命令创建 ZeroTier moon 节点: $ docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp seedgou/ ...
- Comet OJ 三元组 推导+两个指针+分类讨论
题目:https://www.cometoj.com/contest/59/problem/F?problem_id=2681 题意:给你n个三元组 ai,bi,ci,如果某一对三元组满足 2* ...
- marginStart marginEnd就关于上述两个用法展开讨论
在我还在手动调整两个控件距离时,第一次见识到了marginStart marginEnd两个用法, 但是,只知道它俩能够调整控件距离,但是不知道具体用法,老师也没细说,就这样开启了我对于这两个用法&q ...
- Docker知识-1
[编者的话]本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker. 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(co ...
- 搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)
Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito ...
- 跨主机网络概述 - 每天5分钟玩转 Docker 容器技术(48)
前面已经学习了 Docker 的几种网络方案:none.host.bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题.本章的重点则是讨论跨主机容器间通信的方 ...
随机推荐
- nutz包的学习
参考资料: 1.http://www.nutzam.com/core/nutz_preface.html
- Sass函数-数字函数-floor()函数
floor() 函数刚好与 ceil() 函数功能相反,其主要将一个数去除其小数部分,并且不做任何的进位.也就是只做舍,不做入的计算: >> floor(2.1) 2 >> f ...
- Sass-减法
Sass 的减法运算和加法运算类似,我们通过一个简单的示例来做阐述: 同样的,运算时碰到不同类型的单位时,编译也会报错,如:
- ltp-ddt nand_mtd_dd_rw_jffs2
error: 由于在uboot下没有发现坏块,将核心代码剥离出来调试: flash_eraseall -q -j /dev/mtd1mkdir -p /mnt/partition_nand_1419m ...
- elasticsearch 进行聚合+去重查询
转载:https://www.jianshu.com/p/c03c3c8bf583 以客户customer为例 我想查询每日的客户数. 先按照日期分桶,然后在桶内按照 姓名来去重 来计算客户数(实际会 ...
- Web前端性能优化详解之CSS与JS加载
浏览器加载页面和渲染过程 加载过程 浏览器根据DNS 服务器得到域名的IP地坛 向这个 IP 的机器发送 HTTP请求 服务器收到,处理并返回 HTTP请求 浏览器得到返回内容 渲染过程 根据 HTM ...
- ThreadPoolExecutor扩展
import java.util.concurrent.*; /** * ThreadPoolExecutor扩展 */ public class ExtThreadPool { public sta ...
- MYSQL5.7.9改密码相关设置
Centos7上,对MySQL5.7开启远程连接. 1.修改/etc/my.cnf [mysqld] validate_password=off 2.命令行进入mysql use mysql; GRA ...
- nodejs部署配置pm2
高大上先上部署node方式: 直接通过node app来启动,如果报错了可能直接停在整个运行, supervisor感觉只是拿来用作开发环境的. 目前似乎最常见的线上部署nodejs项目的有forev ...
- 回炉Spring--事务及Spring源码
声明式事务 配置文件信息: /** * @EnableTransactionManagement 开启基于注解的事务管理功能 * 1.配置数据源 * 2.配置事务管理器来管理事务 * 3.给方法上标注 ...