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

问题原因和相应的解决方法在官方网站中有文档解释:
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再尝试执行一次
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





