代码
、运行时、库
、环境变量
和配置文件
。远程仓库下载
朋友拷贝
自己制作一个镜像 DockerFile
UnionFS(联合文件系统)
分层
、轻量级
并且高性能
的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtualfilesystem)。Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
Docker镜像加载原理
平时我们安装虚拟机的CentOS
都是好几个G,为什么Docker才200M?
Docke
r的分层思想一层一层下载,逐层检测,存在即跳过,否则下载[root@docker ~]# docker pull redis Using default tag: latest latest: Pulling from library/redis 69692152171a: Already exists a4a46f2fd7e0: Pull complete bcdf6fddc3bd: Pull complete 2902e41faefa: Pull complete df3e1d63cdb1: Pull complete fa57f005a60d: Pull complete Digest: sha256:7e2c6181ad5c425443b56c7c73a9cd6df24a122345847d1ea9bb86a5afc76325 Status: Downloaded newer image for redis:latest docker.io/library/redis:latest
docker image inspect +容器
命令!Layers
(层)理解分层的含义
在添加额外的镜像层的同时,镜像始终保持是当前所有镜像的组合,理解这一点非常重要。下图中举了一个简单的例子,每个镜像层包含3个文件,而镜像包含了来自两个镜像层的6个文件。
分层下载的好处
假设有些应用的层是相同的,就可以直接复用!
特点
容器层
Docker commit
docker commit 提交容器成为一个新的副本 docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG] #运行一个默认的tomcat镜像 [root@docker ~]# docker run -it -p 8080:8080 tomcat [root@docker ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 792ca37197e8 tomcat "catalina.sh run" 34 seconds ago Up 32 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp upbeat_mcnulty [root@docker ~]# docker exec -it 792ca37197e8 /bin/bash #发现这个默认的tomcat 是没有webapps应用,是因为镜像的原因,官方的镜像默认webapps下没有文件,自己拷贝进去基本的文件 root@792ca37197e8:/usr/local/tomcat# cp -r webapps.dist/* webapps #浏览器访问,测试成功 http://192.168.100.100:8080/ #提交修改后的容器成为一个新的镜像 [root@docker ~]# docker commit -a="pakho" -m="add webapps app" 792ca37197e8 tomcat02:1.0 sha256:d6d429f9d2ba25af8f66bd3e7a7de489cf2219828ea755ce1d0a1a7816c27731 [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat02 1.0 d6d429f9d2ba 28 seconds ago 672MB
以上就是Docker镜像原理的详细内容,更多关于Docker镜像的资料请关注脚本之家其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站