如何在非 sudo 用户下运行 docker 命令?
2020-04-25 16:01:47来源:博客园 阅读 ()
如何在非 sudo 用户下运行 docker 命令?
当我们在一台 Linux 系统中安装了 Docker 后, 有时候会遇到下面这样的错误, 我们在运行 docker 的命令时必须加上 sudo, 例如: sudo docker ps
, 但是我们其实更希望能够直接通过 docker ps
来运行 docker 命令。
那么我们可以如何解决这样的问题呢?
可以参考如下步骤:
-
创建 docker 的用户组:
sudo groupadd docker
-
将当前 user 加入 docker 的用户组:
sudo usermod -aG docker $USER
-
重启 docker:
sudo snap restart docker /
sudo service docker restart /
sudo /etc/init.d/docker restart
- 从当前 shell 中登出用户并再次登陆,以重新评估当前的用户组的权限。
切换当前会话到新 group 或者重启会话。可以通过
newgrp - docker
切换当前用户组到 docker 用户组。
注意:这一步是必须的,否则 groups 命令获取到的是缓存的用户组信息,刚添加的用户组信息可能还未能生效,所以
docker ps
执行时同样会有错。
一般情况下,操作到这一步就可以解决该问题了,但有时还会遇到下面的问题,导致仍然无法直接通过 docker ps
访问 docker 命令。
如果在确定了用户组的设置是正确的情况下,再次遇到这个问题,就是由于 /var/run/docker.sock
文件的权限不够导致的。可以按如下操作解决:
-
ls -lrth /var/run/docker.sock
查看 docker.sock 的权限。会发现 docker 用户组其实是没有读写权限的。
-
sudo chmod 666 /var/run/docker.sock
更改权限。
-
ls -lrth /var/run/docker.sock
再次查看 docker.sock 的权限。这样就可以了。
这样就可以直接通过 docker ps
这样的方式操作 docker 命令,而不用每次都加上 sudo
了。
参考文档:
- https://docs.docker.com/install/linux/linux-postinstall/
- https://techoverflow.net/2018/12/15/how-to-fix-docker-got-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket/
本文首发于「愚一笔记」。
原文链接:https://www.cnblogs.com/foolaris/p/12771834.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:linux基础命令一
- 三步教你如何在Github部署自己的简历 2020-04-27
- 如何在linux的vi编辑器下删除前N行 2020-04-26
- 如何在 Vim 里直接完成 Git 操作? 2020-04-15
- 如何在耗时较长的操作完成后得到提醒? 2020-04-06
- ggc is not in the sudoers file. This incident will be re 2020-03-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash