我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Docker命令让普通用户能够执行的实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Docker命令让普通用户能够执行的实现

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

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


sudo gpasswd -a ${USER} docker

第三步、重启docker


sudo systemctl restart docker

第四步、授予读写权限


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

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

运行docker run时提示no permission

centos上安装docker的官方文档

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


$ sudo usermod -aG docker $USER

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

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

比如我要运行ubuntu 14.04的bash:


[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用户组,所以还是没有权限

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


$ newgrp docker

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

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

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


$ sudo ll /var/run/docker.sock

会得到下面的结果:


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

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


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

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


$ 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

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Docker命令让普通用户能够执行的实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Docker命令让普通用户能够执行的实现示例

这篇文章给大家分享的是有关Docker命令让普通用户能够执行的实现示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装完docker一般就会有docker用户组第二步、将当前用户添加到docker组sudo g
2023-06-14

CentOS下命令行实现普通用户和root用户切换的实例

CentOS下实现普通用户和管理团员权限的切换 使用su命令实现用户属性的转换 普通用户切换到root用户: 方法有多重 1)su->回车->输入root密码 2)su -root-http://www.cp
2022-06-04

linux中shell脚本实现root切换到普通用户执行脚本或命令的示例分析

这篇文章将为大家详细讲解有关linux中shell脚本实现root切换到普通用户执行脚本或命令的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求:安装deb包,设置程序安装后启动,不需要root
2023-06-09

在linux shell脚本中root切换到普通用户执行脚本或命令的方法

需求: 安装deb包,设置程序安装后启动,不需要root权限启动程序 | 不能用root权限启动 其他开机启动选项 方法:root临时降低权限 secUser=`who am i | awk '{print $1}'` #echo
2022-06-04

使用任务计划功能结合shutdown命令让Win7实现定时自动执行

大家在使用电脑的时候可能会遇到一些需要无人值守让电脑自行执行任务后定时关机的情形,在Win7系统中,我们可以使用“python任务计划”设置功能结合shutdown命令灵活设置任务计划,让Win7系统实现定时自动执行
2023-06-04

编程热搜

目录