提取知识点
Docker
- 镜像是容器的基础
- 镜像是分层存储的
- 容器的实质是进程
- 容器也是分层存储,在镜像上创建存储层
- 容器不应该向其存储层内写入任何数据,而要使用数据卷进行存储数据
- 数据卷是独立于容器的
- 镜像都藏在仓库中
- 仓库有公有和私有之分
- 公有仓库官方维护,可由个人用户上传分享
- 私有仓库自己维护,上传自己项目的打包镜像
- 连接公有仓库太慢了,需要加速器
目录:
一、Docker镜像(Image)
二、Docker容器(Container)
三、Docker仓库(Repository)
内容:
一、Docker镜像(Image)
在上篇的名词介绍中说明了 Docker 镜像是用于创建 Docker 容器的模板。
也就是说 Docker的镜像是创建容器的基础,先创建好镜像,再在镜像上创建容器。
我们前面也说了使用Docker占用资源非常少,那么为什么呢?
因为镜像使用了分层存储的设计架构!
在 Docker 设计时,就充分利用 Union FS
的技术,将其设计为分层存储的架构。
镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除。在最终容器运行的时候,虽然不会看到这个文件,但是实际上该文件会一直跟随镜像。因此,在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。
分层存储的特征还使得镜像的复用、定制变