【原文链接】设置非root用户操作使用docker
一、默认情况下普通用户操作docker存在的问题
使用docker的时,一般要么是直接使用root用户,如果普通用户则必须使用sudo的方式来执行,而如果不使用sudo,普通用户是无法操作docker的,比如在普通用户下不使用sudo的方式执行 docker run hello-world,则会报如下错误
[honghua@honghua-centos-01 ~]$ docker run hello-world
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.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
[honghua@honghua-centos-01 ~]$
二、为普通用户配置操作docker的权限
(1)创建一个docker组
sudo groupadd docker
(2)将普通用户添加到组中,执行如下命令即可,注意这里不需要替换用户名变量,因为 $USER 默认的就是指当前用户名。
sudo usermod -aG docker $USER
(3)普通用户退出登录,然后再登录,这样配置就生效了
(4)然后再次执行如下命令
docker run hello-world
可以发现此时已经可以能执行了,如下
文章来源:https://www.toymoban.com/news/detail-402322.html
三、可能遇到的问题
如果在将普通用户增加到docker组之前,已经执行了sudo docker xxx命令,则此时会已经创建了 ~/.docker/ 目录,但此时此目录的权限是不对的。此时需要执行如下两条命令修改一下即可,注意这里不需要去替换变量名,SUSER 本身指的就是当前用户名文章来源地址https://www.toymoban.com/news/detail-402322.html
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
到了这里,关于设置非root用户操作使用docker的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!