docker基本元素和底层实现
docker是轻量级的操作系统虚拟化解决方案
优点
1、基于操作系统层面
2、启动速度快(秒级)
3、资源利用率高
4、性能高、易管理
docker有3大基本要素
分别是
1、镜像:只读模板,用来创建docker容器。
2、容器:镜像创建的运行实例,启动时创建一层可写曾作为最上层。
3、仓库:集中存放镜像文件场所,分私有仓库和公有仓库。
docker的底层实现有
1、名字空间:每个容器都有自己单独的名字空间,运行在其中的应用都像是在独立的操作系统中运行一样。名字空间保证了容器之间彼此互不影响。
pid名字空间: 不同的用户进程就是通过pid名字空间隔离的,且不同名字空间可以有相同pid
net名字空间: 网络隔离是通过net名字空间实现的。每个net名字空间有独立的网络设备,IP地址,路由表,/proc/net目录
ipc名字空间: 进程间交互方法(IPC) 信息量、消息队列、共享内存
mnt名字空间: 将一个进程放到一个特定的目录执行
ufs名字空间: 独立的hostname、domainame
user名字空间: 用容器内部的用户执行程序而非主机的用户
2、控制组:对共享资源进行隔离、限制、审计等
3、联合文件系统(AUFS):支持对文件系统的修改作为一次提交来一层层叠加、同时可以将不同目录挂载到同一虚拟文件系统下。镜像可以通过分层进行继承,基于基础镜像,可以制作各种具体应用镜像,不同容器可以共享一些基础的文件系统层。
4、网络实现:docker启动时会在主机建立一个docker0的虚拟网桥,同时分配一个随机的本地为占用的私有网段给docker0,如172.16.0.0。启动容器时,创建veth pair接口,一端在容器内及eth0,一端被挂载到docker0,名称以veth开头。每次创建新容器时,从可用地址段选一个空闲IP分配给容器eth0端口。使用docker0接口IP做所有容器的默认网关。
docker基本元素和底层实现的更多相关文章
- 四:(之一和之二) docker架构和底层技术分析(C/S架构)
1.架构和底层技术 Docker Host提供了RESTUL api,使docker client可以通过这些命令调用dockerd. Registry是一个公用的存储镜像的容器,类似于github. ...
- 5、Docker架构和底层技术
5.1 Docker Platform Docker提供了一个开发,打包,运行APP的平台 把APP和底层infrastructure隔离开来 5.2 Docker Engine 后台进程(docke ...
- docker 6 docker运行的底层原理
docker是一个client-server结构的系统,docker守护进程运行在主机上,然后通过socket连接从客户端访问,守护进程从客户端接收命令并管理运行在主机上的容器,是一个运行时的环境,就 ...
- docker – 你应该知道的10件事
容器并不是一个全新的技术,但这并不妨碍Docker如风暴一样席卷整个世界. 如果你在IT圈里,你一定听说过Docker.就算与其他热门技术,如:Puppet/Chef,Hadoop或者MongoD ...
- Docker容器概念讲解
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. Docker是通过内核虚 ...
- docker interact example
此为docker 第一篇,插下杂七杂八的东西,好找,就这么简单,,,, yum -y install docker-io //install cp /var/tmp/cap.data /var/lib ...
- docker note from UC blog
-------------------------------------------------------------------------- original url http://tech. ...
- 关于Docker在测试方面的应用
Docker 火了很长一段时间了,前段时间简单的学习和试玩了一下子,发现他对测试很有价值,觉得有必要再次深入研究. 这里标记一些较好的学习网址,用作参考: InfoQ上面有系列的文章: 深入浅出Doc ...
- 用Dockerfile构建docker image
dockerfile是为快速构建docker image而设计的,当你使用docker build 命令的时候,docker 会读取当前目录下的命名为Dockerfile(首字母大写)的纯文本文件并执 ...
随机推荐
- ubuntu1604 安装samba
ubuntu1604 安装samba sudo apt-get install samba 更改/etc/samba/smb.conf添加[share]comment = sharepath = /h ...
- C++的一道变态题
题目大概是这样的:有两个数组a[N],b[N],求构造 b[i]=a[0]*a[1]*a[2]*...a[N-1]/a[i], 要求: .不能使用除法. .空间复杂度O(1),时间复杂度O(n). . ...
- JSP内置对象——application对象和out对象
1.application 对象application用于保存所有应用程序的公有数据.它在服务器启动时自动创建,在服务器停止时销毁. 当application对象没有被销毁时,所有用户都可以共享该ap ...
- keil中的memory model
这两天仿真遇到的怪事真的是一大堆. 还是读写Flash的代码.keil编译OK,但是仿真就是莫名其妙地挂掉出现一些乱七八糟的事情. 后面发现是keil 中的memory model勾选错了,勾选的是l ...
- MNIST神经网络的训练
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data 1.设置输入和输出节点的个数,配置 ...
- promise总结
new Promise( // 执行器 function (resolve, reject) { //一段耗时很长的异步操作 resolve(); //数据处理完成 reject(); //数据处理出 ...
- scrapy抓取拉勾网职位信息(六)——反爬应对(随机UA,随机代理)
上篇已经对数据进行了清洗,本篇对反爬虫做一些应对措施,主要包括随机UserAgent.随机代理. 一.随机UA 分析:构建随机UA可以采用以下两种方法 我们可以选择很多UserAgent,形成一个列表 ...
- JavaWeb 之 AJAX
Ajax ajax:AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新 AJAX:Asynchronous JavaScript and XML,异步 javasc ...
- Java 8中你可能没听过的10个新特性
lambda表达式,lambda表达式,还是lambda表达式.一提到Java 8就只能听到这个,但这不过是其中的一个新功能而已,Java 8还有许多新的特性——有一些功能强大的新类或者新的用法,还有 ...
- bzoj 4034: [HAOI2015]T2
4034: [HAOI2015]T2 Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操 ...