我在装有Ubuntu操作系统的机器上安装了Docker。 当我跑步时:

sudo docker run hello-world

一切都很好,但是我想隐藏sudo命令以使该命令更短。 如果我写的命令没有sudo

docker run hello-world

显示如下:

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.

当我试图跑步时,同样的情况也会发生:

docker-compose up

我该如何解决这个问题?


当前回答

我们总是忘记acl。看到setfacl。


sudo setfacl -m user:$ user: rw /var/run/docker.sock

其他回答

在unix:///var/run/ Docker上尝试连接Docker守护进程套接字时被拒绝权限。sock: http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json:拨号unix /var/run/docker。Sock: connect:拒绝权限

sudo chmod 666 /var/run/docker.sock

这解决了我的问题。

我尝试了这个推荐与sudo推荐,它是可以的。Sudo docker pull hello-world或Sudo docker run hello-world

只要打开终端,输入这个命令

sudo chmod 666 /var/run/docker.sock

添加docker组

$ sudo groupadd docker

将当前用户添加到docker组

$ sudo usermod -aG docker $USER

切换会话到docker组

$ newgrp - docker

运行一个示例进行测试

$ docker run hello-world

一个简单的破解方法就是以“超级用户”的身份执行。

要访问超级用户或root用户,请执行以下命令:

在user@computer:

$sudo su

输入密码后,你将进入root@computer:

$docker run hello-world