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 内容器通信的问题.本章的重点则是讨论跨主机容器间通信的方 ...
随机推荐
- 数据库系统实现 第一章 DBMS实现概述
DBMS提供的能力 1)持久存储 DBMS在灵活性方面比文件系统要好,同时支持对非常大量数据的存储 2)编程接口 3)事务管理 DBMS支持对数据的并发存取,即多个不同的进程(称作事物)同时存取操作, ...
- Kotlin中?和!!的区别
很多同学刚上手使用Kotlin知道它有针对Java NullPointerException的管理,而在Kotlin中?和!!均是和NullPointerException有关系,可他们的区别到底是什 ...
- java pravite关键字的使用
package java04; /* * 问题描述:定义Person的年龄时,无法阻止不合理的数值设置进来 * 解决方案:用private关键字将需要保护的成员变量进行修饰 * * 一旦使用了priv ...
- 再谈lmbench
摸了一轮ltp-ddt 再回头来看lmbench bandwidth & latency合集小王子 用起来确实方便. 只是官网显示的用法是: Go to the top directory, ...
- shell脚本检索所有mysql数据库中没有primary key的表
1.mkdir -p /root/scripts/ 2. cd /root/scripts/ vim query.sql,代码如下: SELECT CONCAT(t.table_schema,&quo ...
- Python3.5-20190503-廖老师-自我笔记
列表和元组 list1 = [1,4,6,788,345,757] tuple1 = (345,234,567,878) 切记你的变量名不能和 hel ...
- 第三节 基本数据写入 --------增加&查询
启动mongodb服务 net start mongodb 链接mongodb 进入bin目录 mongo 127.0.0.1:12345 启动连接 show dbs 显示所有的数据库 use ...
- 带有IBM大脑的浮动机器人被成功引导至太空
近日,带有IBM大脑的浮动机器人被成功引导至太空,在接下来的装运前往国际空间站包近三吨的研究和再补给材料. 机器人的全名是CrewInteractiveMobileCompanion:Cimon.它看 ...
- 英语单词escapes
escapes 来源 [root@centos7 ~]# help echo echo: echo [-neE] [arg ...] Write arguments to the standard o ...
- FMXUI ANDROID下连续按多次返回出现异常
在ANDROID下,按返回键后,默认是关闭当前Frame,但连接按返回键,会对当前Frame执行多次关闭动作,因为已经释放过对象,再次关闭会出现异常错误,解决办法:定义一个标识如FClosed: ...