解决sudo docker报错command not found
我们在执行docker命令时,比如docker ps时,可能会遇到如下command not found的错误。sudo docker ps[sudo] password for simon:sudo: docker: command not found这是什么原因呢?我们看看如下两条命令。env | grep PATHPATH=/usr/local/bin:/usr/bin:/u...
·
更多内容,请查看博客原文:解决sudo docker报错command not found
我们在执行docker
命令时,比如docker ps
时,可能会遇到如下command not found
的错误。
sudo docker ps
[sudo] password for simon:
sudo: docker: command not found
这是什么原因呢?我们看看如下两条命令。
env | grep PATH
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/simon/.local/bin:/home/simon/bin
sudo env | grep PATH
PATH=/sbin:/bin:/usr/sbin:/usr/bin
发现环境变量PATH是不相同的。之所以出现sudo: docker: commmand not found
的问题,是因为在PATH=/sbin:/bin:/usr/sbin:/usr/bin
下面找不到docker程序。
可以添加一个docker组来解决。
如果是通过二进制安装的话,就不会自动生成docker组,所以需要我们自己生成。
sudo groupadd docker
同时把用户加入到这个组中,并重启docker。
sudo gpasswd -a simon docker
Adding user simon to group docker
sudo systemctl restart docker
用户以docker组重新登录一下
newgrp docker
这时,就可以正常使用docker
命令了。
那我们会问,如果不把用户加入docker
组,不加sudo执行docker命令又会怎样呢?
docker ps
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.38/containers/json: dial unix /var/run/docker.sock: connect: permission denied
会发现当我们连接socket的时候,没法访问/var/run/docker.sock
这个文件。
更多内容,请查看博客原文:解决sudo docker报错command not found
更多推荐
已为社区贡献1条内容
所有评论(0)