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啊,如果我的文档对您有帮助的话,记得帮我点赞赞~
谢谢您~