Meh*_*aki 38 docker docker-container
我试图通过此命令删除docker容器:
docker rmi <Image-Id>
Run Code Online (Sandbox Code Playgroud)
显然,我已经用我使用的Id替换了Image-Id:
docker images
Run Code Online (Sandbox Code Playgroud)
但我看到下面的错误:
Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
Adi*_*iii 50
您还可以使用--force , -f
强制删除图像
如果使用-f标志并指定映像的短ID或长ID,则此命令将取消标记并删除与指定ID匹配的所有映像.
docker rmi -f <image_id>
Run Code Online (Sandbox Code Playgroud)
小智 30
您必须先移除容器。
强制是最后一种方法。
#check container
docker ps -a
#remove container
docker rm containerID
Run Code Online (Sandbox Code Playgroud)
Dav*_*aze 21
您需要删除已停止的容器docker rm
,然后您可以删除它使用的图像docker rmi
.
Ang*_*gus 10
您可能还会发现您已停止引起锁定的容器。首先删除这些使用:
docker rm $(docker ps -q -a)
Run Code Online (Sandbox Code Playgroud)
在这里,我们仅通过ID列出docker进程,然后将其删除;但是,docker rm只会删除停止的容器。
接下来,使用以下方法删除图像:
docker image rm <image_id>
Run Code Online (Sandbox Code Playgroud)
除了其他答案之外,我在使用 Docker for Mac 时遇到了同样的问题,但docker ps -a
没有显示任何正在运行的容器。跑步docker images
节目:
docker/desktop-storage-provisioner v1.0 605a0f683b7b 2 months ago 33.1MB
k8s.gcr.io/kube-controller-manager v1.15.5 1399a72fa1a9 6 months ago 159MB
k8s.gcr.io/kube-proxy v1.15.5 cbd7f21fec99 6 months ago 82.4MB
k8s.gcr.io/kube-apiserver v1.15.5 e534b1952a0d 6 months ago 207MB
k8s.gcr.io/kube-scheduler v1.15.5 fab2dded59dd 6 months ago 81.1MB
docker/kube-compose-controller v0.4.23 a8c3d87a58e7 11 months ago 35.3MB
docker/kube-compose-api-server v0.4.23 f3591b2cb223 11 months ago 49.9MB
k8s.gcr.io/coredns 1.3.1 eb516548c180 16 months ago 40.3MB
k8s.gcr.io/etcd 3.3.10 2c4adeb21b4f 17 months ago 258MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 2 years ago 742kB
Run Code Online (Sandbox Code Playgroud)
如果您启用了 Kubernetes,则 Docker 应用程序将使用所有这些映像。在 Docker for Mac 首选项中,有一个 Kubernetes 部分。如果单击“显示系统容器(高级)”,它们将显示在docker ps
.
如果您想删除这些镜像,您需要通过 Docker for Mac 应用程序禁用 Kubernetes,然后重试。
小智 5
Docker 容器运行在 docker 镜像之上,只有当镜像未附加到任何容器时,您才能删除该镜像。!因此,您必须停止容器并删除容器,然后才能删除图像 ID。
docker stop 容器 ID 和 docker rm 容器 ID
然后尝试删除镜像 docker rmi image-id
下面的链接给出了一些额外的信息。干杯。!
https://docs.docker.com/config/pruning/
如果docker rmi <image-id>
不起作用,请尝试以下操作:
停止所有正在运行的容器
docker stop $(docker ps -aq)
Run Code Online (Sandbox Code Playgroud)
移除所有容器
docker rm $(docker ps -aq)
Run Code Online (Sandbox Code Playgroud)
删除所有图像
docker rmi $(docker images -q)
Run Code Online (Sandbox Code Playgroud)
如果目标是回收磁盘空间,另一种尚未提及的方法是使用docker system prune
. 它将打印应注意的警告:
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
Run Code Online (Sandbox Code Playgroud)
这不会删除命名图像,但会清除中间未命名图像。根据您使用的容器大小,这可以节省大量磁盘空间。
归档时间: |
|
查看次数: |
32460 次 |
最近记录: |