我正在使用Docker for Mac并节省磁盘空间我想要摆脱一些未使用的本地图像。据我所知,本地文件存储在〜/ Library / Containers / com.docker.docker中。
但即使我从docker中删除了所有图像和容器,该文件夹也会保留一些GB的大小,而不会释放单个字节。唯一的选择是完全删除com.docker.docker文件夹,但这只有在你想要删除所有数据而不仅仅是未使用的图像时才有意义。我做错了什么?
答案 0 :(得分:5)
要删除所有未使用的图像,请使用docker images prune
。
还有另一种方法可以删除所有未使用的图像(悬空):docker rmi $(docker images -aq --filter dangling=true)
要删除不需要的图片,请使用docker rmi <image>
。您可以使用多个图像,例如。 docker rmi abcdef ghijkl
,其中abcdef
和ghijkl
是图片哈希值。
如果这没有立即帮助,请尝试重新启动docker服务(sudo service docker restart
)。在某些情况下,图像/容器仅标记为deleted
,并且不会被删除。但他们正在重启。
答案 1 :(得分:5)
这里发生的事情是你的mac应用程序的docker实际上正在运行一个虚拟机。该虚拟机有自己的磁盘,这就是qcow2文件。该磁盘被懒得分配,并且不会同时占用所有空间。在vm内部使用空间后,磁盘将在主机上生长。
磁盘映像将增长,直到达到磁盘大小。仅仅因为文件在vm中被删除,这不会导致主机上的磁盘映像再次收缩。
有一种缩小磁盘映像的可能解决方案:https://forums.docker.com/t/where-does-docker-keep-images-containers-so-i-can-better-track-my-disk-usage/8370/7
我见过一些人使用这个技巧取得了一些成功。
答案 2 :(得分:3)
列出您的图片:
docker images
删除单个图像:
docker rmi image_id
答案 3 :(得分:2)
<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0">
<resource-adapters>
<resource-adapter id="cicseci.rar">
<archive>
cicseci.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="com.ibm.connector2.cics.ECIManagedConnectionFactory" jndi-name="java:/eis/ECI" use-java-context="true" pool-name="ECIIVT" enlistment="true">
<config-property name="ConnectionURL"> </config-property>
<config-property name="UserName"> </config-property>
<config-property name="PortNumber"></config-property>
<config-property name="Password"> </config-property>
<config-property name="ServerName"> </config-property>
<config-property name="xaSupport">on</config-property>
</connection-definition>
</connection-definitions>
</resource-adapter>
</resource-adapters>
</subsystem>
只需简单地输入上面给出的命令。 它将自动删除所有图像。