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

 更新时间:2021年03月30日 14:34:35   作者:诗水人间  
这篇文章主要介绍了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

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

相关文章

  • docker部署confluence的完整步骤

    docker部署confluence的完整步骤

    这篇文章主要介绍了docker部署confluence的完整步骤,这里的镜像并不是小编自己写的是基于他人打包的文中有详细介绍,需要的朋友可以参考下
    2021-06-06
  • docker安装influxdb的详细教程(性能测试)

    docker安装influxdb的详细教程(性能测试)

    这篇文章主要介绍了docker安装influxdb的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • docker-compose中启动镜像失败的几种解决方法

    docker-compose中启动镜像失败的几种解决方法

    本文主要介绍了docker-compose中启动镜像失败的几种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 浅谈Windows平台上Docker安装与使用

    浅谈Windows平台上Docker安装与使用

    本篇文章主要介绍了浅谈Windows平台上Docker安装与使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • docker容器无法执行vim的解决方案

    docker容器无法执行vim的解决方案

    这篇文章主要介绍了docker容器无法执行vim的解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • docker容器化部署及使用方式

    docker容器化部署及使用方式

    这篇文章主要介绍了docker容器化部署及使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker镜像发布到Docker Hub的实现方法

    Docker镜像发布到Docker Hub的实现方法

    本文主要介绍了Docker镜像发布到Docker Hub的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 使用Dockerfile实现数据卷的挂载问题(推荐)

    使用Dockerfile实现数据卷的挂载问题(推荐)

    Dockerfile就是一个可以用来构建镜像的文件,可以理解为一个脚本文件,可以通过这个脚本文件自定义生成一个我们想要的镜像,镜像都是一层一层的,里面的每一条命令就是一层,本文给大家介绍使用Dockerfile实现数据卷的挂载,感兴趣的朋友一起看看吧
    2022-03-03
  • PVE下扩展openwrt for x86分区大小方式

    PVE下扩展openwrt for x86分区大小方式

    本文介绍了在PVE环境下如何对OpenWRT虚拟机的分区进行扩容,包括磁盘调整、软件安装、分区配置和系统引导等步骤,操作前需做好备份,以防数据丢失
    2024-10-10
  • 使用Docker部署SpringBoot项目的实现方法

    使用Docker部署SpringBoot项目的实现方法

    这篇文章主要介绍了使用Docker部署SpringBoot项目的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论