【发布时间】:2019-03-04 00:05:28
【问题描述】:
我在我的系统中安装了一个操作系统约为 1 GB 的 docker 映像,然后我更新并安装了其他软件,将大小推到了近 2 GB。我使用这个容器通过docker commit <cont-id> <child-name> 创建了一个新的子图像。现在我有两个 docker 图像,父图像和子图像总计 3 GB。由于我有多余的 1 GB 父图像,因此我想将其删除。
Parent image 1 GB
Child image 2 GB
我试图保留子图像并尝试通过docker rmi -f <image-id> 删除父图像,但它给出了这个错误
来自守护程序的错误响应:冲突:无法删除 5dvd3054h756(无法强制)- 图像具有依赖的子图像
然后尝试了this solution,我尝试了sudo docker images --filter "dangling=true" -q --no-trunc,但没有返回任何内容,还尝试了docker system prune,显示为0 GB。
我还计划在 docker 内的操作系统上安装其他程序,因此想从现有的子图像中生成新的子图像。我到处搜索,没有很好的解决方案来删除 docker 中的父图像以及我之所以阅读的原因是因为子图像使用了一些父层。生成新的子图像后,是否无法在 docker 中删除父图像?
【问题讨论】:
-
您的情况没有多余的图像层。这两个新映像将共享一个映像层(您最初构建的操作系统映像)。所以磁盘使用不是3GB,你可以用
du -sh查看。 -
你能列出你在创建子图像之前运行的命令吗?
标签: docker docker-container docker-image