非root用户没有权限使用docker

非root用户没有权限使用docker

运行docker run时提示no permission

centos上安装docker的官方文档
在安装docker-ce的时候已经自动创建了docker用户组,但是需要手动添加用户到docker用户组
$ sudo usermod -aG docker $USER
或者$ sudo…

运行时提示no permission

centos上安装docker的> 在安装docker-ce的时候已经自动创建了docker用户组,但是需要手动添加用户到docker用户组> > 或者> 但我在添加用户到docker用户组后还是提示no permission> 比如我要运行ubuntu 14.04的bash:

[hsowan@localhost shell-workspace]$ docker run -it --rm ubuntu:14.04 bash
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

why? 原因在于虽然用户加入了docker用户组,但是当前没有切换到docker用户组,所以还是没有权限> 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。> > 现在就可以在非root用户下执行docker相关的命令了

除了给用户之外,还有什么办法可以让非root用户可以执行docker相关的命令呢?

ok,那我们来查看一下/var/run/docker.sock的权限> > 会得到下面的结果:

srw-rw----. 1 root docker 0 Sep 22 15:29 /var/run/docker.sock

所以现在直接修改的权限> > 现在就可以在非root用户下运行docker了

$ docker run -it --rm ubuntu:14.04 bash
root@5c60abab6425:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
root@5c60abab6425:/# exit
exit

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×