如何重启并让所有容器使用最新镜像,并删除无镜像?

如何重启并让所有容器使用最新镜像,并删除无镜像?

我使用此命令删除所有<none>docker 映像:

docker images | grep none | awk '{ print $3; }' | xargs docker rmi

但后来我得到这个错误:

Error response from daemon: conflict: unable to delete 00d1bd49dd01 (cannot be forced) - image is being used by running container a36783d86ab9

我尝试使用此命令重新启动所有容器,认为它们重新启动时将使用最新的映像:

docker restart $(docker ps -q)

但这没有什么区别。

那么,如何强制让所有容器切换到最新的镜像,并删除<none>镜像呢?

答案1

认为他们重新启动时会使用最新的映像

这与 docker 的设计目的及其工作方式背道而驰!

所以不行。启动一个容器重新启动容器。它不会提取任何新图像! docker 的重点是镜像是不可变的;您需要显式删除一个容器,并根据不同的映像创建一个新容器。

相关内容