小知识:Docker命令让普通用户能够执行的实现

安装完docker一般就会有docker用户组

第二步、将当前用户添加到docker组

?
1
sudo gpasswd -a ${USER} docker

第三步、重启docker

?
1
sudo systemctl restart docker

第四步、授予读写权限

?
1
sudo chmod a+rw /var/run/docker.sock

补充:非root用户没有权限使用docker

运行docker run时提示no permission

centos上安装docker的官方文档

在安装docker-ce的时候已经自动创建了docker用户组,但是需要手动添加用户到docker用户组

?
1
$ sudo usermod -aG docker $USER

或者$ sudo usermod -aG docker {指定用户名}

但我在添加用户到docker用户组后还是提示no permission

比如我要运行ubuntu 14.04的bash:

?
1
2
3
[hsowan@localhost shell-workspace]$ docker run -it –rm ubuntu:14.04 bash
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.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See docker run –help.

why? 原因在于虽然用户加入了docker用户组,但是当前没有切换到docker用户组,所以还是没有权限

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

?
1
$ newgrp docker

现在就可以在非root用户下执行docker相关的命令

除了给用户添加用户组之外,还有什么办法可以让非root用户可以执行docker相关的命令呢?

ok,那我们来查看一下/var/run/docker.sock的权限

?
1
$ sudo ll /var/run/docker.sock

会得到下面的结果:

?
1
srw-rw—-. 1 root docker 0 Sep 22 15:29 /var/run/docker.sock

所以现在直接修改/var/run/docker.sock的权限

?
1
$ sudo chmod 666 /var/run/docker.sock

现在就可以在非root用户下运行docker了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
$ docker run -it –rm ubuntu:14.04 bash
root@5c60abab6425:/# cat /etc/os-release
NAME=”Ubuntu”
VERSION=”14.04.5 LTS, Trusty Tahr”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 14.04.5 LTS”
VERSION_ID=”14.04″
HOME_URL=”http://www.ubuntu.com/”
SUPPORT_URL=”http://help.ubuntu.com/”
BUG_REPORT_URL=”http://bugs.launchpad.net/ubuntu/”
root@5c60abab6425:/# exit
exit

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://yumbo.blog.csdn.net/article/details/103171869

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Shell脚本构建Docker 半自动化编译打包发布应用操作

2023-3-22 19:11:07

建站知识

小知识:docker exec执行多个命令的操作

2023-3-22 19:26:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索