问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Docker怎么删掉不用的layer

发布网友 发布时间:2022-02-26 21:30

我来回答

2个回答

热心网友 时间:2022-02-26 22:59

1、如果已经存在的 image layer,是不会重复下载的。
2、要用某个 image,就要下载所有的 layer,中间的 layer 也是必须的
3、删除不用的就 docker images ,找到没的,然后 docker rmi <image_id>

希望能够对题主有帮助

热心网友 时间:2022-02-27 00:17

它们之间的不同

现在我们创建了两个Tar文件,让我们来看看它们是什么。首先做一下小清理——把所有的容器和镜像都删除:

# 查看所有的容器
sudo docker ps -a

# 删除它们
sudo docker rm <CONTAINER ID>

# 查看所有的镜像
sudo docker images

# 删除它们
sudo docker rmi busybox-1
sudo docker rmi busybox

译注:可以使用 docker rm $(docker ps -q -a) 一次性删除所有的容器,docker rmi $(docker images -q) 一次性删除所有的镜像。

现在开始导入刚刚导出的容器:

# 导入export.tar文件
cat /home/export.tar | sudo docker import - busybox-1-export:latest

# 查看镜像
sudo docker images

# 检查是否导入成功,就是启动一个新容器,检查里面是否存在/home/test目录(是存在的)
sudo docker run busybox-1-export [ -d /home/test ] && echo 'Directory found' || echo 'Directory not found'

使用类似的步骤导入镜像:

# 导入save.tar文件
docker load < /home/save.tar

# 查看镜像
sudo docker images

# 检查是否导入成功,就是启动一个新容器,检查里面是否存在/home/test目录(是存在的)
sudo docker run busybox-1 [ -d /home/test ] && echo 'Directory found' || echo 'Directory not found'

那,它们之间到底存在什么不同呢?我们发现导出后的版本会比原来的版本稍微小一些。那是因为导出后,会丢失历史和元数据。执行下面的命令就知道了:

# 显示镜像的所有层(layer)
sudo docker images --tree

执行命令,显示下面的内容。正你看到的,导出后再导入(exported-imported)的镜像会丢失所有的历史,而保存后再加载(saveed-loaded)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚(可以执行docker tag <LAYER ID> <IMAGE NAME>来回滚之前的层)。

vagrant@Ubuntu-13:~$ sudo docker images --tree
├─f502877df6a1 Virtual Size: 2.489 MB Tags: busybox-1-export:latest
└─511136ea3c5a Virtual Size: 0 B
└─bf747efa0e2f Virtual Size: 0 B
└─48e5f45168b9 Virtual Size: 2.489 MB
└─769b9341d937 Virtual Size: 2.489 MB
└─227516d93162 Virtual Size: 2.489 MB Tags: busybox-1:latest
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
vivo闪电手柄没法一键连招 vivo闪电游戏手柄如何设置最佳_vivo闪电游戏手柄设置教程 switch跳舞的游戏叫什么 量子特攻怎么使用灌木 量子特攻量子魔方有什么用 量子技能介绍 量子特攻怎么换技能介绍_量子特攻怎么换技能是什么 量子特攻战斗中更换时装和机仆技能方法介绍 量子特攻如何设置快捷机仆技能_量子特攻设置快捷机仆技能方法介绍_百度... 换新显卡,显示器不亮!DVI-D无信号 怎么回事大佬棒棒忙? 求大佬带飞,电脑相关问题 怎么把电话号码存到微信里 如何删除docker images下的镜像 怎么把docker里面已经创建的容器删除 docker 删除不掉镜像怎么办 docker删不掉镜像,怎么办 docker仓库的镜像怎么删除 如何删除docker register镜像 删除Docker Registry里的镜像怎么那么难 如何删除运行的docker镜像 docker 如何删除镜像及其下的所有容器? 如何制作 Python 的 Docker 镜像 怎么制作tomcat和nginx mysqldocker镜像 Docker如何创建镜像 如何使用Dockerfile构建镜像 如何制作一个精简的docker镜像 如何制作一个定制的 Python 基础 Docker 镜像 如何制作一个定制的 PHP 基础 Docker 镜像 怎么在服务器上制作docker镜像 在制作Docker镜像过程中,能直接使用已有的docker镜像吗? 如何建立你自己的Docker镜像 怎样把电话号添加到微信上 为什么删除docker镜像后依然占用本地空间 怎样把电话号码导入到微信通讯录里面? docker怎么清理容器的文件 电话号码怎样加到微信上 卸载了docker镜像没删除怎么办? 因为我是新手,请问在微信上的没有别人的电话号码,怎么把别人加入到我的呢? 怎么把我的电话号码存到微信里 电话号码怎样加对方微信 docker 怎么删除某个容器 安装的docker的容器怎么单独删除 docker 怎么删除一个容器 linux 怎么删掉docker生成的ip 如何导出容器,导入容器和删除容器 怎么增加,删除,修改正在运行Docker容器的端口映射和数据卷 docker容器删除了,link怎么还在 centos频繁删除创建docker容器有什么影响 Docker容器关闭后,容器产生的数据还在磁盘上吗 docker 容器空间不够用了怎么办 ubuntu linux怎么卸载docker