前言
普通用户使用 docker
的时候报权限不足,有两种解决办法,第一种加 sudo
,第二种把自己添加到 docker
用户组
[admin@VM-06-16-centos-8-64 ~]$ docker ps
Got permission denied while trying to connect to the Docker daemon socket
第一种解决办法,使用 sudo
就不会显示权限不足了
[admin@VM-06-16-centos-8-64 ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
879c8a6ec919 my-blog-site "java -jar app.jar -…" 7 weeks ago Up 6 weeks 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp my-blog-site
3ad4bc528353 mariadb:10.3 "docker-entrypoint.s…" 7 weeks ago Up 7 weeks 0.0.0.0:6606->3306/tcp, :::6606->3306/tcp site-mariadb-10.3
第二种解决办法,添加到docker用户组,彻底释放sudo
1、可以看下当前用户
# 当前用户显示 admin,就是自己
[admin@VM-06-16-centos-8-64 ~]$ echo $USER
admin
2、把当前用户添加到 docker
组
命令:sudo gpasswd -a $USER docker
# 添加当前用户到的 docker 用户组,输入密码显示下面提示说明成功
sudo gpasswd -a $USER docker
[sudo] password for admin:
Adding user admin to group docker
3、刷新 docker
用户组
newgrp docker
就可以直接使用 docker ps
了,不用加 sudo
了
[admin@VM-06-16-centos-8-64 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
879c8a6ec919 my-blog-site "java -jar app.jar -…" 7 weeks ago Up 6 weeks 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp my-blog-site
3ad4bc528353 mariadb:10.3 "docker-entrypoint.s…" 7 weeks ago Up 7 weeks 0.0.0.0:6606->3306/tcp, :::6606->3306/tcp site-mariadb-10.3