docker命令中必须加上sudo的问题解决方法

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录1、问题背景2、问题原因3、解决方法Attention

1、问题背景

初次使用docker时,安装后通过终端进行docker命令时必须加上root权限,否则将会报错,如下所示:

docker命令中必须加上sudo的问题解决方法插图

问题原因和相应的解决方法在官方网站中有文档解释:

https://docs.docker.com/engine/install/linux-postinstall/

2、问题原因

docker提供服务的后台守护进程是绑定至一个Unix socket上而非TCP端口上,而通常这个Unix socket只能由root用户使用,普通权限的用户使用时必须加上 sudo 命令

3、解决方法

知道原因以后,解决方法就显而易见了:让当前用户有使用Unix socket的权限具体做法是创建一个名叫 docker 的Unix用户组,并且把当前用户添加进去,当docker守护进程启动创建Unix socket时就会自动令该组下的所有成员能够进行访问

sudo groupadd docker sudo usermod -aG docker $USER #此处的USER是系统变量,直接使用该语句即可 newgrp docker

通过上述方法可能会令当前用户拥有root权限,所以应当谨慎使用,具体风险如下:

https://docs.docker.com/engine/security/#docker-daemon-attack-surface

大家可以看一看官方文档,里面也列举了可能会遇到的其他问题

Attention

虽然这样做可以在输入docker命令时不用加sudo,但并非对于所有命令都有效,如:

docker login … or docker push …

如果使用上述方法后执行docker命令发现奇怪的报错,可以先使用sudo再尝试执行一次

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容