码迷,mamicode.com
首页 > 其他好文 > 详细

Docker镜像技术

时间:2021-04-19 15:14:51      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:epo   otf   repo   仓库   程序   调用   结构   loading   分层   

镜像管理

镜像,即创建容器的模版,含有启动容器所需要的文件系统及所需要的内容,因此镜像主要用于方便和快速的创建并启动容器。

镜像含里面是一层层的文件系统,叫做 Union FS(联合文件系统),联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统,虚拟文件系统的目录结构就像普通 linux 的目录结构一样,镜像通过这些文件再加上宿主机的内核共同提供了一个 linux 的虚拟环境,每一层文件系统叫做一层 layer,联合文件系统可以对每一层文件系统设置三种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able),但是镜像中每一层文件系统都是只读的,构建镜像的时候,从一个最基本的操作系统开始,每个构建提交的操作都相当于做一层的修改,增加了一层文件系统,一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层把底层遮住了一样,当使用镜像的时候,我们只会看到一个完全的整体,不知道里面有几层也不需要知道里面有几层。

技术图片

 

 一个典型的 Linux文件系统由bootfs和rootfs两部分组成,bootfs(boot file system) 主要包含bootloader和kernel,bootloader主要用于引导加载 kernel,当 kernel 被加载到内存中后bootfs会被umount 掉,rootfs (root file system) 包含的就是典型 Linux 系统中的/dev,/proc,/bin,/etc 等标准目录和文件。

一般的镜像通常都比较小,官方提供的Ubuntu镜像只有60MB多点,而CentOS基础镜像也只有200MB左右,一些其他版本的镜像甚至只有几MB,比如:busybox 才1.22MB,alpine镜像也只有5M左右。镜像直接调用宿主机的内核,镜像中只提供rootfs,也就是只需要包括最基本的命令、工具和程序库就可以了。

容器、镜像简单关系:

docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)

docker 容器=镜像+可读层

容器是由镜像实例化而来

简单来说,镜像是文件,容器是进程。

容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件

技术图片

 

 

技术图片

 

比如nginx镜像

技术图片

 

docker run nginx后访问服务器可以访问nginx成功。

技术图片

 

 可以查看nginx镜像的分层结构,将 nginx.tar.gz压缩包解压到当前目录下的 data目录下

技术图片

 

技术图片

 

 搜索镜像

 

Docker镜像技术

标签:epo   otf   repo   仓库   程序   调用   结构   loading   分层   

原文地址:https://www.cnblogs.com/liuyakai/p/14669048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!