docker权限问题
- 背景root用户可运行docker命令,但是普通用户无法运行- 普通用户执行报错如下:[root@test secrets]# docker ps -a##root用户执行没报错CONTAINER IDIMAGECOMMANDCREATEDSTATUS...
·
docker权限问题
- 背景
root用户可运行docker命令,但是普通用户无法运行
- 普通用户执行报错如下:
[root@test secrets]# docker ps -a ##root用户执行没报错
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[yukw@test secrets]$ docker ps -a ##普通用户执行报错
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.39/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied
- 解决办法
第一种解决办法:
[yukw@test secrets]$ sudo -s ##切换到root用户
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for yukw:
[root@cas1-149 secrets]# chmod 666 /var/run/docker.sock
[root@cas1-149 secrets]# exit
exit
[yukw@cas1-149 secrets]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
第二种解决办法(推荐):
添加非 root 用户到本地 Docker Unix 组当中
# usermod -aG docker yukw
# cat /etc/group |grep docker
docker:x:993:yukw
#### 更新用户组(很重要)
[yukw@test ~]# newgrp docker
[yukw@test ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[yukw@test ~]$ sudo -s
[sudo] password for yukw:
[root@test yukw]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@test yukw]# useradd test
[root@test yukw]# su - test
[test@test ~]$ whoami
test
[test@test ~]$ docker ps -a
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/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied
好了,这就是使普通用户(非root用户)也有权限运行docker命令,如有问题可与博主一起交流讨论!
更多推荐
已为社区贡献3条内容
所有评论(0)