使用 podman build
建置容器時,建置失敗的中間容器會被留下來,而且不會被 podman system prune -a
清除。
$ podman system prune -a
WARNING! This command removes:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated with them
- all build cache
Are you sure you want to continue? [y/N] y
Error: Image used by fbcfbb...7e8: image is in use by a container
這個原因看起來是因為 podman system prune 清除的對象是 Podman 本身產生的資料,而 podman build
背後是透過 Buildah 來進行建置,而這部份就不被認為是 Podman 的直接行為。細節可以參考在 #7889 Failed to remove image, image is in use by container 這個 Issue 裡的描述。
處理的方式就是手動刪除,先執行 podman ps --all --storage
把所有的容器列出來,再用 podman rm
刪掉。
$ podman ps --all --storage
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b396d84310a4 docker.io/library/ubuntu:16.04 buildah 10 days ago storage ubuntu-working-container
fbcfbbc3c233 docker.io/library/bd7139...bed-tmp:latest buildah 10 days ago storage 793b78...79a-working-container
$ podman rm b396d84310a4 fbcfbbc3c233