docker 命令权限问题

使用 docker 命令时,出现了
Using default tag: latest 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.24/images/create?fromImage=nginx&tag=latest": dial unix /var/run/docker.sock: connect: permission denied

是权限不足的情况

这是因为你当前的用户没有这个权限。默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。我们当前的用户不是root用户。

解决办法1
在 docker 命令前加上 sudo
例如 docker pull nginx => sudo docker pull nginx

解决办法2
在 docker 组中加入当前用户

  1. 查看/var/run/docker.sock文件的权限
ll /var/run/docker.sock
  1. 将当前用户加入用户组
sudo gpasswd -a $USER docker
  1. 更新用户组数据,使修改生效
newgrp docker
  1. 尝试是否还有权限问题
  2. 如果还有权限问题,尝试给其他用户添加读写权限
sudo chmod o+rw /var/run/docker.sock
  1. 再次尝试,一般情况下是可以不用在 docker 命令前加 sudo

参考:
将用户添加到docker用户组

其他:
Docker 安装 Nginx 容器 (完整详细版)
使用docker安装nginx
linux服务器上,docker安装nginx

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值