Linux 获取docker remove的权限被拒绝错误
我正在遵循一个教程,在当前步骤中,我应该用这个删除任何先前存在的docker容器Linux 获取docker remove的权限被拒绝错误,linux,ubuntu,docker,Linux,Ubuntu,Docker,我正在遵循一个教程,在当前步骤中,我应该用这个删除任何先前存在的docker容器 docker rm -f $(docker ps -aq) 我通常必须使用sudo来使用docker命令,所以我尝试了 sudo docker rm -f $(docker ps -aq) 但我明白了 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
docker rm -f $(docker ps -aq)
我通常必须使用sudo来使用docker命令,所以我尝试了
sudo docker rm -f $(docker ps -aq)
但我明白了
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.32/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied
"docker rm" requires at least 1 argument.
See 'docker rm --help'.
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
通常,当我忘记使用sudo时,会出现权限错误,但在这种情况下,我有权限错误
有人知道怎么了吗
谢谢
编辑
我试过这个
sudo docker rm -f $(sudo docker ps -aq)
但是得到
"docker rm" requires at least 1 argument.
See 'docker rm --help'.
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
我认为您没有任何预先存在的容器,此命令的结果
sudo docker ps-aq
似乎为空,这将导致total命令为sudo docker rm-f
,没有任何容器ID。您可以跳过此命令,因为没有预先存在的容器。您将需要sudo
和另一个答案中指出的潜在“空”容器列表之间的一些不同问题结合起来
另一个答案是完全正确的,即此命令组合可能会导致docker rm
错误,因为docker ps-aq
无法返回任何内容,从而使docker rm
命令没有选项,并提示帮助文本
当然,“内部”命令不能返回任何内容有两个原因:
docker rm
的错误,或自行运行docker ps-aq
命令,以确信没有返回任何容器sudo
,但在内部ps
命令上没有使用,这显示了无法与docker套接字通信的错误。输出可能会令人困惑,因为向您显示了两个错误;每个命令中的一行:“Get permission denied…”来自非sudo版本的docker ps
,第二行“docker rm requires least..”来自docker rm
,由于第一个命令失败,因此没有任何要删除的内容sudo
来使用docker
客户端的原因是它通过位于/var/lib/docker.sock
的UNIX套接字与docker引擎对话,该套接字由root
(uid所有者)和docker
组所有者控制写访问权限。有关在Docker命令中使用sudo
的详细信息,以及有关如何允许普通用户访问套接字的信息,(如果选择)。在决定是否需要sudo或是否将用户添加到docker
组之前,请确保阅读该页面上的警告,说明允许使用哪些功能
如果您确实将用户添加到docker
组,您将不再需要对docker命令使用sudo
,并且可以忽略在所有docker客户端命令前面加有sudo
前缀的任何指南/教程