设置非root用户操作使用docker

【原文链接】设置非root用户操作使用docker

一、默认情况下普通用户操作docker存在的问题

使用docker的时,一般要么是直接使用root用户,如果普通用户则必须使用sudo的方式来执行,而如果不使用sudo,普通用户是无法操作docker的,比如在普通用户下不使用sudo的方式执行 docker run hello-world,则会报如下错误

[honghua@honghua-centos-01 ~]$ 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.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
[honghua@honghua-centos-01 ~]$

二、为普通用户配置操作docker的权限

(1)创建一个docker组

sudo groupadd docker

(2)将普通用户添加到组中,执行如下命令即可,注意这里不需要替换用户名变量,因为 $USER 默认的就是指当前用户名。

sudo usermod -aG docker $USER

(3)普通用户退出登录,然后再登录,这样配置就生效了
(4)然后再次执行如下命令

docker run hello-world

可以发现此时已经可以能执行了,如下

三、可能遇到的问题

如果在将普通用户增加到docker组之前,已经执行了sudo docker xxx命令,则此时会已经创建了 ~/.docker/ 目录,但此时此目录的权限是不对的。此时需要执行如下两条命令修改一下即可,注意这里不需要去替换变量名,SUSER 本身指的就是当前用户名

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
 sudo chmod g+rwx "$HOME/.docker" -R
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redrose2100

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值