标签:Pull complete 03 详解 commit 镜像 Docker docker latest
Docker镜像详解
什么是镜像
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时(一个程序在运行或者在被执行的依赖)、库,环境变量和配置文件。
Docker镜像加载原理
Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统是UnionFS联合文件系统。
分层理解
分层的镜像
我们去下载一个镜像,观察下方的日志输出,可以看到一层一层的在下载
[root@vdevops ~]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
e5ae68f74026: Already exists
37c4354629da: Pull complete
b065b1b1fa0f: Pull complete
6954d19bb2e5: Pull complete
6333f8baaf7c: Pull complete
f9772c8a44e7: Pull complete
Digest: sha256:2f502d27c3e9b54295f1c591b3970340d02f8a5824402c8179dcd20d4076b796
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest
为啥 镜像要采用这种分层结构
最大的好处,莫过于资源共享,比如有多个镜像都从相同的Base镜像构建而来,那么宿主机只需在磁盘上保留一份base镜像,同时内存中只需要加载一份base镜像,这样就可以为所有的容器服务,而且镜像的每一层都可以被共享。查看镜像分层的方式可以通过 docker image inspect
commit 镜像
如何提交自己的一个镜像
docker commit 提交容器成为一个新的副本
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名: [TAG]
#1.启动一个默认的tomcat
#2. 发现这个默认的 tomcat 是没有webapps 应用的 官方的镜像默认 webapps下面是没有文件的
#3.自己拷贝
#4. 将操作后的容器 通过 commit 提交 我们以后就是要修改过的镜像
[root@vdevops ~]# docker commit -a="syyy" -m="add webapps app" a5538129234d tomcat1.0
sha256:c6e64ee3642d487261c131892dd668fffd484600b3464ff378bde1547dff89ea
[root@vdevops ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat1.0 latest c6e64ee3642d 7 seconds ago 684MB
tomcat 9.0 3f3cadde9a68 12 days ago 680MB
标签:Pull,complete,03,详解,commit,镜像,Docker,docker,latest 来源: https://www.cnblogs.com/flypigggg/p/15716288.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。