如何在Docker中删除悬挂图像

ubbxdtey  于 2022-12-22  发布在  Docker
关注(0)|答案(5)|浏览(137)

我如何删除悬挂的Docker图像?我试过

sudo docker rmi $(docker images -f "dangling=true" -q)

但它表明
尝试连接到unix:///var/run/docker. sock上的Docker守护程序套接字时权限被拒绝:获取http://%2Fvar%2Frun%2Fdocker.sock/v1.35/images/json?filters=%7B%22dangling%22%3A%7B%22true%22%3Atrue%7D%7D:拨入unix/var/run/docker。套接字:连接:权限被拒绝

efzxgjgh

efzxgjgh1#

两个docker命令都需要sudo,否则docker images列表将首先以您的用户身份运行。

sudo docker rmi $(sudo docker images -f "dangling=true" -q)

对于docker images查询,当这样运行时,sudo有时无法正常工作,您需要在单个sudo下运行整个命令:

sudo sh -c 'docker rmi $(docker images -f "dangling=true" -q)'

最近的docker添加了the image prune command,因此此任务只需要调用一次docker

sudo docker image prune
b4wnujal

b4wnujal2#

Docker有一个内置的命令来清理悬挂的图像。

sudo docker image prune

要清除未使用的图像和悬挂图像,请用途:

sudo docker image prune -a
nxowjjhe

nxowjjhe3#

要使其在没有sudo的情况下工作

docker rmi -f $(docker images -f "dangling=true" -q)
afdcj2ne

afdcj2ne4#

简单地做

docker image prune

它将要求您确认

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]

键入y,您就完成了...或者使用-f不提示确认。

docker image prune -f
efzxgjgh

efzxgjgh5#

正如@Matt提到的,您在内部命令中缺少sudo

sudo docker rmi $(sudo docker images -f "dangling=true" -q)

要避免每次都使用sudo,请给予docker用户权限。
1.创建Docker组。

$ sudo groupadd docker

1.将您的用户添加到Docker组。

$ sudo usermod -aG docker $USER

相关问题