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

相关推荐
IT大白鼠26 分钟前
Kubernetes 核心资源ReplicaSet 控制器详解
云原生·容器·kubernetes
梦之美丽生活2 小时前
【本地部署及docker部署】yolov8_detect
yolo·docker·容器
^酸酸2 小时前
Kubernetes 运维实战:临时容器、端口转发与资源管理详解
运维·容器·kubernetes
奇特認2 小时前
kubernetes 微服务
微服务·容器·kubernetes
UseLessQQ3 小时前
云原生 kubernetes 中的service
云原生·容器·kubernetes
毕竟是shy哥3 小时前
windows电脑WSL下本地构建docker镜像
windows·docker·容器
小灰灰搞电子5 小时前
Rust 相关容器(集合)详解
开发语言·容器·rust
上学的小垃圾11 小时前
基于docker安装MySQL(openEuler系统)
linux·mysql·docker·容器
小小程序员.¥19 小时前
docker中redis集群配置
docker
Asum1ta20 小时前
Kubernetes Namespace 命名空间管理实战:资源隔离、默认命名空间与常用命令
网络·容器·kubernetes