docker命令中必须加上sudo的问题解决方法
1、问题背景
初次使用docker时,安装后通过终端进行docker命令时必须加上root权限,否则将会报错,如下所示:

问题原因和相应的解决方法在官方网站中有文档解释:
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再尝试执行一次
到此这篇关于docker命令中必须加上sudo的问题解决方法的文章就介绍到这了,更多相关docker命令必须加上sudo 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用
这篇文章主要介绍了docker mysql关于配置文件、连接客户端、/docker-entrypoint-initdb.d/目录的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05
Docker镜像构建原理解析(不装docker也能构建镜像)
这篇文章主要介绍了Docker镜像构建原理解析(不装docker也能构建镜像),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-03
详解如何使用Docker快速部署ELK环境(最新5.5.1版本)
这篇文章主要介绍了详解如何使用Docker快速部署ELK环境(最新5.5.1版本),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-08-08


最新评论