【发布时间】:2020-08-28 21:57:56
【问题描述】:
我尝试使用docker rmi image_id 和终端输出Error response from daemon: conflict: unable to delete dd85c346890b (must be forced) - image is being used by stopped container b91e905c2b8e 删除图像。然后我尝试使用docker ps -a 列出容器,但没有显示。然后我尝试了docker inspect b91e905c2b8e 它确实存在。我可以使用docker rm b91e905c2b8e 删除容器。
为什么不使用docker ps -a 显示容器。该容器是使用kubectl apply pod_config.yaml 创建的。这会影响 docker 吗?
已编辑:
pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
component: web
spec:
containers:
- name: client
image: imageB // original is imageA
ports:
- containerPort: 3000
【问题讨论】:
-
检查 pod 是否安排在您正在执行 docker 命令的节点上
-
你可能不应该在 Kubernetes 管理的节点上手动使用
docker命令;而是删除 Kubernetes Pod(或其控制 Deployment/StatefulSet/Job/DaemonSet)。如果您不在纯本地环境(Docker 桌面)中,您通常根本不应该/不能登录工作节点。 -
该 pod 以前使用容器 (b91e905c2b8e),但现在已替换为新的另一个容器并正在运行。你能解释一下发生了什么吗?@ArghyaSadhu
-
因为我将 pod 内的容器从 A 更改为 B,但 A 仍然保留了它的图像。我怎样才能删除它们?我无法移除 pod,因为 pod 仍在使用中。 @大卫迷宫
-
如果pod还在使用,那么镜像还在使用中,不能删除。
标签: docker kubernetes kubectl