当我尝试运行简单的docker命令时:
$ docker ps -a
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
得到权限否认... /var/run/docker.sock:connect:权限被拒绝
当我检查权限时
$ ls -al /var/run/
Run Code Online (Sandbox Code Playgroud)
我看到这一行:
srw-rw---- root docker docker.sock
Run Code Online (Sandbox Code Playgroud)
所以,我遵循许多论坛的建议,并将本地用户添加到docker组:
$ sudo usermod -aG docker $USER
Run Code Online (Sandbox Code Playgroud)
但它没有帮助.我仍然得到相同的错误消息.我该如何解决?
BMi*_*tch 112
对于刚接触shell的人,命令:
$ sudo usermod -aG docker $USER
Run Code Online (Sandbox Code Playgroud)
需要$USER在shell中定义.默认情况下通常会出现这种情况,但您可能需要在某些shell中将值设置为登录ID.
更改用户组不会更改用户已打开的现有登录,终端和shell.要避免再次执行登录,您只需运行:
$ newgrp docker
Run Code Online (Sandbox Code Playgroud)
在当前shell中访问该组.
完成此操作后,用户将有效地在服务器上具有root访问权限,因此仅对受信任且具有不受限制的sudo访问权限的用户执行此操作.
ash*_*que 14
输入命令并探索 docker,无需 sudo 命令
sudo chmod 666 /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
小智 9
$ echo $ USER
$ sudo usermod -aG泊坞窗$ USER
$ sudo systemctl重新启动docker
$ docker ps
小智 5
原因:该错误消息表示当前用户无法访问docker引擎,因为该用户没有足够的权限来访问UNIX套接字以与引擎进行通信。
快速解决:
即-sudo docker ps
即-sudo chmod 777 /var/run/docker.sock
永久解决方案:
将当前用户添加到docker组。这可以通过键入来实现
sudo usermod -a -G泊坞窗$ USER
注意:您必须先注销然后重新登录才能使更改生效。
| 归档时间: |
|
| 查看次数: |
33329 次 |
| 最近记录: |