设置非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了:

相关推荐
❀͜͡傀儡师2 分钟前
docker 安装数据集成平台 Apache SeaTunnel 服务
docker·容器
超级小忍30 分钟前
Spring Boot 与 Docker 的完美结合:容器化你的应用
spring boot·后端·docker
B1nna3 小时前
Docker学习
学习·docker·容器
缘友一世3 小时前
网安系列【15】之Docker未授权访问漏洞
docker·容器
慕木兮人可10 小时前
Docker部署MySQL镜像
spring boot·后端·mysql·docker·ecs服务器
armcsdn14 小时前
基于Docker Compose部署Traccar容器与主机MySQL的完整指南
mysql·docker·容器
凌晨两点的菜鸡14 小时前
前端部署-docker
前端·docker
LuckyLay14 小时前
使用 Docker 搭建 Go Web 应用开发环境——AI教你学Docker
前端·docker·golang
杨浦老苏16 小时前
IntelliSSH:AI驱动的远程服务器管理软件
人工智能·docker·ai·ssh·群晖
铅笔侠_小龙虾16 小时前
Docker 实战 -- Mysql
mysql·docker·容器