Open phymo opened 3 years ago
分层的镜像
RootFS.Layers 每操作一步加一层, 分层下载,便于复用Docker 镜像都是只读的,当容器启动时,一个新的容器增加到镜像层的顶部, 所有操作都在容器层进行, 修改后重新发布为新镜像 镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除。在最终容器运行的时候,虽然不会看到这个文件,但是实际上该文件会一直跟随镜像。因此,在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉
与git比较类似, 生成新的image,本地? 相当于保存为快照
docker commit -m='描述信息' -a="作者” 容器id 目标镜像名:TAG // 提交容器副本
慎用 commit 生成镜像: 使用 docker commit 意味着所有对镜像的操作都是黑箱操作,生成的镜像也被称为 黑箱镜像,换句话说,就是除了制作镜像的人知道执行过什么命令、怎么生成的镜像,别人根本无从得知。而且,即使是这个制作镜像的人,过一段时间后也无法记清具体的操作。这种黑箱镜像的维护工作是非常痛苦的。
由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 docker image ls -f dangling=true
docker image prune
删除 虚悬镜像
联合文件系统