默认情况下, docker 命令会使用 Unix socket 与 Docker 引擎通讯。
而只有 root 用户和docker 组的用户才可以访问 Docker 引擎的Unix socket。
出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。
因此,更好地做法是将需要使用 docker 的用户加入 docker用户组。
建立docker组:
$ sudo groupadd docker
将当前用户加入docker组:
$ sudo usermod -aG docker $USER
重启docker服务
sudo service docker restart
切换当前会话到新 group 或者重启 X 会话
newgrp - docker
注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。
这样以后就不需要前面加sudo了 效果图
添加前:
添加后: