Docker容器技术

提到Docker一定会与镜像容器联系在一起,Docker提供轻量化的虚拟服务,通过Docker能镜像化多个容器,并且一个容器类似于一台虚拟机。

对比:在虚拟机中,我们配置其他独立的操作系统,是从本机磁盘中分割出内存,两者间cpu、内存、磁盘相互独立,一台宿主机中可以安装的虚拟机数量是一定的,文件大小固定不易移动。而在Docker中,部分区域隔离,共享cpu,内存,磁盘甚至操作系统,所以称为轻量。

云服务提供商通常采用虚拟机技术隔离不同的用户。而Docker通常用于隔离不同的应用,例如前端,后端以及数据库。

Docker要素:

1.沙箱

主要产生隔离的效果,将应用资源里的一些必要资源隔开,防止产生互相影响。

2.镜像

这里我用的是Linux发行版的centos。每个镜像都会有一个自己的文本文件DockerFile,定义了如何构建了Docker镜像。新镜像是由base镜像一层层叠加出来的,本质就是原有base镜像中安装和配置需要的软件。
镜像的分层结构,

3.容器

镜像运行的实例,镜像是容器的基石。容器负责写入,镜像负责呈现读取。当新的可写层被激活启动时,自动加载到镜像的顶部,此时这一层就叫做容器层,容器层之下叫做镜像。任何的改动都会发到这里,所有的镜像层联合在一起组成一个统一的文件系统,用户在容器层往下看到的都是一个叠加后的效果。
对于在容器中的修改操作,修改某个已存在的文件,Docker会自上而下在镜像层中查找文件,一旦找到将会复制到容器中,再修改。
具体思考copy后write。
所以对文件的增删改都会经过容器层并记录。
由此,镜像和容器之间的联系。我们可以总结出,之所以镜像能被共享,Docker技术的省资源,共享性高的特点也是由此而来:

copy-on-write特性说明容器层保存的是镜像变化的部分,不会对镜像本身进行任何修改。

4.数据卷

用于保存必要数据。比如容器中数据库的数据,但是不建议用,因为重启容器需要挂载同步数据,效率较慢,解决方式:数据库拆分。

5.仓库

与maven仓库概念一致,应用都会保存在仓库中,创建容器是根据镜像的规定进行拉取,可以共享。

6.其他知识点补充:

镜像运行时用的是虚拟机的内核,不能修改。Docker基于linux3.8及以上版本64bit内核开发,所以在使用docker前需要确认linux内核版本,一般centos7以上。查看命令:uname -a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值