如何删除摇晃的Docker镜像?我试过了
if [ "$pool" = "dbpool1" ] || [ "$pool" = "dbpool2" ] || [ "$pool" = "dbpool3" ]
then
echo "DBPool is ${pool}"
sqlplus username/password@database<<EOF
select name from v\$database;
exit
EOF
else
echo "No Results"
fi
但它显示
尝试连接到Docker守护程序时获得权限被拒绝 在unix上的socket:///var/run/docker.sock:得到 http://%2Fvar%2Frun%2Fdocker.sock/v1.35/images/json?filters=%7B%22dangling%22%3A%7B%22true%22%3Atrue%7D%7D: 拨打unix /var/run/docker.sock:connect:permission denied
答案 0 :(得分:5)
两个docker
命令都需要sudo
,否则docker images
列表将首先作为您的用户运行。
sudo docker rmi $(sudo docker images -f "dangling=true" -q)
有时sudo
对docker images
查询执行此操作时无法正常工作,您需要在单个sudo
下运行整个命令:
sudo sh -c 'docker rmi $(docker images -f "dangling=true" -q)'
答案 1 :(得分:3)
Docker有一个内置命令来清理悬空图像。
sudo docker image prune
要清理未使用的图像和悬空图像,请使用:
sudo docker image prune -a
答案 2 :(得分:0)
简单地做
docker image prune
它将要求您确认
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
键入y
,您就完成了...
答案 3 :(得分:0)
如@Matt所述,您在内部命令中缺少sudo
。下面会工作
sudo docker rmi $(sudo docker images -f "dangling=true" -q)
要摆脱每次使用sudo
的权限,请授予docker
用户权限。请按照以下步骤操作
创建docker组。
$ sudo groupadd docker
将您的用户添加到docker组。
$ sudo usermod -aG docker $USER