停止的容器正在使用图像
image is being used by stopped container
我正在尝试通过此命令删除 docker 容器:
docker rmi <Image-Id>
显然,我已经用我使用的 Id 替换了 Image-Id:
docker images
但是我看到下面的错误:
Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx
您需要用docker rm
删除停止的容器,然后用docker rmi
删除它使用的镜像。
您还可以使用--force , -f
强制删除图片
If you use the -f flag and specify the image’s short or long ID, then
this command untags and removes all images that match the specified
ID.
docker rmi -f <image_id>
注意:此命令会删除容器正在使用的图像。
如果您在 Dockerfile
中进行了更改并且您正在使用 docker 撰写,则可以通过 运行 docker-compose
和 --build
选项 !
您可能还会发现您已经停止了导致锁定的容器。首先使用以下方法删除这些:
docker rm $(docker ps -q -a)
这里我们仅按 ID 列出 docker 进程,然后将其删除;但是,docker rm 只会删除已停止的容器。
接下来返回并使用以下方法删除图像:
docker image rm <image_id>
Docker 个容器 运行 在 docker 个图像之上,您只能删除未附加到任何容器的图像。!所以你必须停止容器并删除容器然后你可以删除图像 ID。
docker 停止容器 ID 和
docker rm 容器 ID
然后尝试删除图像
docker rmi 图像 ID
下面给出了一些额外的信息 link。干杯!
您必须先删除容器。
强制是最后采取的方法。
#check container
docker ps -a
#remove container
docker rm containerID
除了其他答案外,我对 Mac 使用 Docker 时遇到了同样的问题,但 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
如果启用了 Kubernetes,Docker 应用程序会使用所有这些图像。在 Docker for Mac 首选项中,有一个 Kubernetes 部分。如果您单击 "Show system containers (advanced)",它们将出现在 docker ps
。
如果您想删除这些图像,您需要通过 Docker 为 Mac 应用程序禁用 Kubernetes,然后重试。
如果 docker rmi <image-id>
不起作用,试试这个:
停止所有 运行 个容器
docker stop $(docker ps -aq)
删除所有容器
docker rm $(docker ps -aq)
删除所有图片
docker rmi $(docker images -q)
如果目标是回收磁盘 space,另一种尚未提及的方法是使用 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
这不会删除命名图像,但会清除中间的未命名图像。根据您使用的容器的大小,这可以节省大量磁盘空间 space.
我正在尝试通过此命令删除 docker 容器:
docker rmi <Image-Id>
显然,我已经用我使用的 Id 替换了 Image-Id:
docker images
但是我看到下面的错误:
Error response from daemon: conflict: unable to delete <Image-ID> (must be forced) - image is being used by stopped container xxxxxxxxxxx
您需要用docker rm
删除停止的容器,然后用docker rmi
删除它使用的镜像。
您还可以使用--force , -f
强制删除图片
If you use the -f flag and specify the image’s short or long ID, then this command untags and removes all images that match the specified ID.
docker rmi -f <image_id>
注意:此命令会删除容器正在使用的图像。
如果您在 Dockerfile
中进行了更改并且您正在使用 docker 撰写,则可以通过 运行 docker-compose
和 --build
选项 !
您可能还会发现您已经停止了导致锁定的容器。首先使用以下方法删除这些:
docker rm $(docker ps -q -a)
这里我们仅按 ID 列出 docker 进程,然后将其删除;但是,docker rm 只会删除已停止的容器。
接下来返回并使用以下方法删除图像:
docker image rm <image_id>
Docker 个容器 运行 在 docker 个图像之上,您只能删除未附加到任何容器的图像。!所以你必须停止容器并删除容器然后你可以删除图像 ID。
docker 停止容器 ID 和 docker rm 容器 ID
然后尝试删除图像 docker rmi 图像 ID
下面给出了一些额外的信息 link。干杯!
您必须先删除容器。
强制是最后采取的方法。
#check container
docker ps -a
#remove container
docker rm containerID
除了其他答案外,我对 Mac 使用 Docker 时遇到了同样的问题,但 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
如果启用了 Kubernetes,Docker 应用程序会使用所有这些图像。在 Docker for Mac 首选项中,有一个 Kubernetes 部分。如果您单击 "Show system containers (advanced)",它们将出现在 docker ps
。
如果您想删除这些图像,您需要通过 Docker 为 Mac 应用程序禁用 Kubernetes,然后重试。
如果 docker rmi <image-id>
不起作用,试试这个:
停止所有 运行 个容器
docker stop $(docker ps -aq)
删除所有容器
docker rm $(docker ps -aq)
删除所有图片
docker rmi $(docker images -q)
如果目标是回收磁盘 space,另一种尚未提及的方法是使用 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
这不会删除命名图像,但会清除中间的未命名图像。根据您使用的容器的大小,这可以节省大量磁盘空间 space.