1. 前言如果您在Ubuntu上运行Docker,但被提示Permission Denied(权限拒绝),应该处理?本教程将对此问题提出解决方法 。
最近,我在Ubuntu上安装了Docker,安装是非常简单 。但当我试图运行docker命令时,它抛出了这个错误:
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.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied
文章插图
Ubuntu上运行Docker提示Permission Denied(权限拒绝),如何处理?
Got permission denied while trying to connect to the Docker daemon socket(在试图连接到Docker daemon socket时被拒绝)
2. 运行docker权限拒绝的2种解决方法想知道如何解决这个问题?下面介绍2种解决方法 。
文章插图
运行docker权限拒绝的2种解决方法
2.1 方法1:用sudo运行所有docker命令如果你当前有sudo访问权限,你可以用sudo运行每个docker命令,你就不会再看到Got permission denied while trying to connect to the Docker daemon socket(在试图连接到Docker daemon socket时被拒绝)这个错误提示了 。
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES13dc0f4226dc ubuntu "bash" 17 hours ago Exited (0) 16 hours ago container-22d9a8c190e6c ubuntu "/bin/bash" 17 hours ago Created container-1
但是用sudo运行每个docker命令非常不方便 。如果你忘记使用sudo命令,你会得到'权限拒绝'的提示 。2.2 方法2: 在没有sudo的情况下运行docker命令要在没有sudo的情况下运行docker命令,您可以将目标用户(系统用户)添加到docker组 。
首先,使用groupadd命令创建docker组 。目标组可能已经存在,但是运行组创建命令不会有什么影响 。
sudo groupadd docker
现在您已经有了docker组,使用usermod命令将您的用户添加到这个组中 。如果想把当前用户加入这个xesg中,您可以使用$user变量 。sudo usermod -aG docker $USER
通过列出docker组的用户来验证您的用户是否已被添加到docker组 。您可能需要注销并再次登录 。sudo groups
如果你的组和docker组没有列出,甚至在注销后也没有列出的话,你可能需要重新启动Ubuntu 。为了避免这种情况,你可以使用newgrp命令,像下面这样的命令:newgrp docker
现在,如果您尝试在不使用sudo的情况下运行docker命令,应该可以正常工作 。3. 可能遇到的其它问题在某些情况下,您可能需要向某些文件添加额外的权限,特别是在过去使用sudo运行docker命令的情况下 。
文章插图
可能遇到的其它问题
您可以尝试更改文件/var/run/docker.sock的所属组 。
sudo chown root:docker /var/run/docker.sock
您还可以尝试更改目录~/.docker所属的组sudo chown "$USER":"$USER" /home/"$USER"/.docker -Rsudo chmod g+rwx "$HOME/.docker" -R
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 玫瑰花茶喝了会不会上火,玫瑰花茶泡水喝的功效
- 防止自己服务器变矿机
- 在床上,咱们都是地球人
- 地下城与勇士|DNF:五一版本内容提前爆料!至尊套为魔界人,第6波平衡将上线
- 网上祭祀的发展前景
- 淘宝生意经在哪里订购 淘宝生意经入口
- 实体店跟淘宝上同样的产品有区别吗 淘宝各种店铺区别
- 为什么说早上最适宜喝红茶?
- 买五花肉,“上五花、中五花、下五花”差别大,弄懂少花冤枉钱
- 上火人群能喝玫瑰花茶吗,孕妇能喝玫瑰花茶吗