我正在尝试使用命令sudo docker rm $(docker ps -a -q)
但是它的回报
尝试在unix:///var/run/docker.sock上连接到Docker守护程序套接字时,获得了权限被拒绝:获取http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/json?all=1:拨打unix /var/run/docker.sock:connect:权限被拒绝 “ docker rm”至少需要1个参数。 请参阅'docker rm --help'。 用法:docker rm [OPTIONS] CONTAINER [CONTAINER ...] [flags]
任何人都可以建议我如何删除所有停止的容器。
答案 0 :(得分:3)
您为外部docker命令运行了sudo,但没有为内部docker命令运行。在sudo运行之前,您的bash shell会扩展该内部命令。因此,您要么需要在root shell中运行整个命令,要么每次都调用sudo,例如:
sudo docker rm $(sudo docker ps -a -q)
您还可以将用户添加到docker组,以避免需要对每个命令执行sudo操作。