您的当前位置:首页正文

让普通用户执行docker相关指令时无需sudo

2024-11-26 来源:个人技术集锦

环境信息

操作系统:Ubuntu 22.04 LTS 桌面版

Docker:20.10.17

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

arlo@inboc-pc-415:~$ docker ps
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.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

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

arlo@inboc-pc-415:~$  sudo docker images
[sudo] arlo 的密码: 
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE

每次执行docker命令都要输入密码不方便,并且在IDEA中无法启动docker,也么有找到可以sudo的地方;

解决方案

1、创建名为docker的组,一般在安装docker的时候自动创建,此步骤可省略:

sudo groupadd docker

2、将当前用户加入组docker:

sudo gpasswd -a ${USER} docker

3、重启docker服务:

sudo systemctl restart docker

4、重新启动服务器

shutdown -r now

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

arlo@inboc-pc-415:~$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
显示全文