网站搜索框在线生成logo图标免费
docker目录
- 1 Docker镜像
 - dockers镜像的进一步理解
 
- 2 Docker镜像commit操作实例
 - 案例内容是ubuntu安装vim
 
- 3 将本地镜像推送至阿里云
 - 4 将阿里云镜像下载到本地仓库
 - 5 后记
 
1 Docker镜像
镜像,是docker的三件套之一(镜像、容器、仓库),是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容。打包好的运行环境就是image镜像文件。
我们只有通过这个镜像文件才能生成Docke容器实例。(就好像Java需要先有一个类,然后才能new一个对象。)
dockers镜像的进一步理解
镜像是一层一层的,称其为分层的镜像。比如我们在pull一个镜像的时候,它就是一层一层进行拉取下载的。
docker pull nginx
 

这里就不得不提到 UnionFS(联合文件系统)了,它是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。
就像一个花卷一样,一层一层的卷起来。
docker镜像实际上是由一层一层的文件系统组成的,这种层级的文件系统UnionFS。

 镜像分层最大的一个优点就是共享资源,方便复制迁移,就是为了复用。比如有多个镜像都从相同的 A 镜像构建而来,那么我们的 Docker Host 只需要在磁盘上保存一份 A 镜像即可。
Docker镜像层都是只读的,容器层是可写的。当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫做“镜像层”。
 
2 Docker镜像commit操作实例
docker commit 提交容器副本使之成为一个新的镜像
 
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
 
案例内容是ubuntu安装vim
第一步,从Hub上下载ubuntu镜像到本地并运行成功
docker images
 
第二步,查看默认ubtuntu是否带vim命令
docker run -it ubuntu /bin/bash
 

 第三步,外网连通情况下,安装vim
apt-get update
 

apt-get -y install vim
 

vim a.txt
 

第四步,安装完成后,commit我们自己的新镜像
docker commit -m="add vim cmd" -a="ada" 镜像ID 镜像名称:版本号
 

第五步,启动我们的新镜像并和原来的对比
 
3 将本地镜像推送至阿里云
本地镜像ubuntu_vim:1.0
 阿里云开发者平台:https://promotion.aliyun.com/ntms/act/kubernetes.html
 
 选择控制台,进入容器镜像服务
 
选择个人实例
 
命名空间
 
仓库名称
 
 
 
进入管理界面获得脚本
 
将镜像推送到阿里云
 
 
4 将阿里云镜像下载到本地仓库
直接复制粘贴脚本文件就可以。
 
 
5 后记
三米粥铺有的店好吃,有的店不好吃!
BB啊,如果我的文档对您有帮助的话,记得帮我点赞赞~
谢谢您~
