首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Docker安装为Snap后,当运行它时拒绝权限

将Docker安装为Snap后,当运行它时拒绝权限
EN

Ask Ubuntu用户
提问于 2017-08-01 09:28:37
回答 4查看 81.9K关注 0票数 52

我已经通过软件商店安装了Docker,这表明它是一个简单的软件包。我觉得这很好,但不幸的是,我尝试过的每个Docker命令都不起作用:

代码语言:javascript
运行
复制
$ docker info
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.30/info: dial unix /var/run/docker.sock: connect: permission denied

知道怎么解决这个问题吗?

编辑:我现在通过从码头自己的仓库安装Docker来解决这个问题,这可能也适用于将来浏览这个问题的人。不过,我将这个问题留给那些想要从头到尾运行它的人。

EN

回答 4

Ask Ubuntu用户

发布于 2017-08-01 09:35:05

错误消息告诉您,当前用户无法访问停靠引擎,因为您缺乏访问unix套接字与引擎通信的权限。

临时解决方案

每次使用sudo命令以提升的权限执行这些命令。

永久(建议)解决方案

将当前用户添加到docker组中。这可以通过键入

代码语言:javascript
运行
复制
sudo usermod -a -G docker $USER

您必须注销并再次登录,才能使该组成员资格生效。

来源:techoverflow.net

票数 32
EN

Ask Ubuntu用户

发布于 2018-07-18 23:36:57

我想,您的用户名已经在docker组了。要检查这一点,请在命令下面发出命令。

代码语言:javascript
运行
复制
id -nG

如果不是,则需要通过以下命令将用户添加到停靠组中。

代码语言:javascript
运行
复制
sudo groupadd docker
sudo usermod -aG docker $USER

当您执行命令sudo systemctl start docker时,它将创建一个停靠进程。该停靠进程包含dockerd守护进程线程。该命令还创建默认的docker.sock Unix。docker.sock套接字不断被dockerd守护进程线程监听。这使得您可以使用docker.pid进程执行内核级IPC。要能够使用这个停靠套接字,您需要从进程级别(docker.pid)和文件级别(docker.sock)获得适当的权限。因此,执行以下两个命令可以解决您的问题。sudo chmod a+rwx /var/run/docker.sock # You can provide just execute permission sudo chmod a+rwx /var/run/docker.pid

票数 8
EN

Ask Ubuntu用户

发布于 2019-02-03 14:56:36

代码语言:javascript
运行
复制
sudo setfacl -m user:your_user_name:rw /var/run/docker.sock

不需要重新启动,而且更安全

票数 7
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/941816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档