设置非root账号不用sudo直接执行docker命令

环境信息

操作系统:Ubuntu 20.04 LTS 桌面版

Docker:19.03.10

问题

当前账号非root,直接执行docker xxx命令会报以下错误:

bash 复制代码
docker images
复制代码
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.40/images/json: dial unix /var/run/docker.sock: connect: permission denied

执行sudo docker xxx命令,会提示输入当前账号密码,然后可以成功

每次执行docker命令都要输入密码不方便,尤其是在shell脚本中就更麻烦了,一起来解决这个问题

方法

创建名为docker的组,如果之前已经有该组就会报错,可以忽略这个错误:

bash 复制代码
sudo groupadd docker

将当前用户加入组docker:

bash 复制代码
sudo gpasswd -a ${USER} docker

重启docker服务(生产环境请慎用):

bash 复制代码
sudo systemctl restart docker

添加访问和执行权限:

bash 复制代码
sudo chmod a+rw /var/run/docker.sock

操作完毕,验证一下,现在可以不用带sudo了:

相关推荐
一周困⁸天.8 小时前
K8S-Ingress资源对象
云原生·容器·kubernetes
ylmzfun11 小时前
Docker全景解析:从容器化理念到日常实践
docker·eureka·架构
❀͜͡傀儡师11 小时前
docker 部署 komari-monitor监控
运维·docker·容器·komari
qinyia13 小时前
WisdomSSH解决docker run命令中log-opt参数不支持导致的容器创建失败问题
java·docker·eureka
一条懒鱼66613 小时前
K8S-Ingress资源对象
云原生·容器·kubernetes
luback14 小时前
前端对Docker简单了解
运维·docker·容器
帷幄庸者14 小时前
记一次Kubernetes“僵尸”挖矿病毒的排查与歼灭全录
云原生·容器·kubernetes
eventer12316 小时前
在国产ARM64环境下从源码编译Greptime DB及构建Docker镜像实践
数据库·docker·容器
saber_andlibert16 小时前
【docker】网络基础和容器编排
网络·docker·php
楓叶子17 小时前
K8S部署
云原生·容器·kubernetes