Eka*_*Eka 3 docker docker-image docker-container
我在我的系统中安装了一个带有大约 1 GB 操作系统的 docker 映像,然后我更新并安装了其他软件,将大小推到了近 2 GB。我使用这个容器创建了一个新的子图像docker commit <cont-id> <child-name>。现在我有两个 docker 镜像,父镜像和子镜像总大小为 3 GB。由于我有一个多余的 1 GB 父映像,因此我想将其删除。
Parent image 1 GB
Child image 2 GB
Run Code Online (Sandbox Code Playgroud)
我试图保留子图像并尝试删除父图像,docker rmi -f <image-id>但它给出了这个错误
来自守护进程的错误响应:冲突:无法删除 5dvd3054h756(不能强制)-图像具有依赖的子图像
然后尝试了这个解决方案,我尝试过sudo docker images --filter "dangling=true" -q --no-trunc但什么也没返回,也尝试过docker system prune显示 0 GB。
我还计划将其他程序安装到 docker 内的操作系统中,因此希望从现有的子映像中生成新的子映像。我到处搜索,没有很好的解决方案来删除 docker 中的父图像,以及我阅读的原因是因为子图像使用了一些父层。生成新的子映像后,是否无法删除 docker 中的父映像?
小智 6
而不是docker rmi <image_id>使用docker rmi <repo:tag>
您可以从输出中获取 repo 和标签 docker images
@atline 的答案是答案的理论部分。这里提到的是删除相同基础映像的先前版本的方法,因为不会删除/影响子(或较低层)
学分:https : //stackoverflow.com/a/50650745/5711056
容器由不同的 docker 镜像层组成,如下所示。
因此,当您向容器添加新内容并最终将其作为另一个图像时,您只需在原始图像层上添加一个新层,因此无需删除基础图像层,它们由您的新容器共享。此外,只有有了这些基础镜像层,您的新镜像才有可能形成一个新的容器。
| 归档时间: |
|
| 查看次数: |
4932 次 |
| 最近记录: |