一、镜像构成
docker镜像文件是一层一层构建好的
doker pull tomcat 拉取镜像时会发现docker镜像时一层层的下载
docker history tomcat 可以查看镜像构建的历史信息
二、UnionFS文件系统
UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。Union 文件系统是Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。
Docker 镜像都起始于一个基础镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层
Docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部 这一层就是我们通常说的容器层,容器之下的都叫镜像层.
三、commit制作镜像
ubuntu 镜像(官方镜像)中添加 vim 命令,安装制作为新的镜像
1、docker pull ubuntu:20.04
拉取ubuntu镜像
2、运行ubuntu
3、vim 命令没有安装
4、下载vim
5、commit新的镜像
创建一个新的镜像,该镜像基于名为 “ubuntu” 的容器所做的更改。镜像的提交信息为 “updata vim iamges”,作者为 “zyf”。新的镜像将被命名为 “zyf/ubuntu”
6、运行commit的新镜像
7、将本地镜像上传至阿里云服务器
登录阿里云选择控制台,进入容器镜像服务>>选择个人实列>> 命名空间 >>镜像仓库 >>
8、docker login --username=xxxxx registry.cn-hangzhou.aliyuncs.com
登录阿里云镜像服务
9、docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zhangyufei/zyfubuntu:1.0
给镜像打标签
10、docker push registry.cn-hangzhou.aliyuncs.com/zhangyufei/zyfubuntu:1.0
把镜像推送到阿里云上
11、docker pull registry.cn-hangzhou.aliyuncs.com/zhangyufei/zyfubuntu:1.0
下载阿里云镜像的容器下载到本地
标签:容器,镜像,文件系统,阿里,ubuntu,commit,docker From: https://blog.51cto.com/u_14869798/7146987