iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >Docker命令让普通用户能够执行的实现
  • 123
分享到

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

2024-04-02 19:04:59 123人浏览 薄情痞子
摘要

安装完Docker一般就会有docker用户组 第二步、将当前用户添加到docker组 sudo gpasswd -a ${USER} docker 第三步、重启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

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

--结束END--

本文标题: Docker命令让普通用户能够执行的实现

本文链接: https://www.lsjlt.com/news/122612.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作