免sudo使用docker命令

原文简书: 免sudo使用docker命令

问题

当以普通用户身份去使用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.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

解决

创建docker组

如果还没有 docker group 就添加一个:

sudo groupadd docker

将docker加入docker组

sudo chown $USER:docker $(which docker)

将用户加入docker组

将用户加入该 group 内。然后退出并重新登录就生效啦。

sudo gpasswd -a $USER docker

重启 docker 服务

sudo service docker restart

切换当前会话到新 group 或者重启 X 会话

newgrp - docker
  • 注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。