远程给docker容器执行命令(Docker命令让普通用户能够执行的实现)
类别:服务器 浏览量:870
时间:2021-10-14 00:25:42 远程给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 permissioncentos上安装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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
您可能感兴趣
- dockerrun执行脚本(docker run和start的区别说明)
- docker阿里云服务器教程(Docker安装阿里云服务器和在虚拟机安装遇到的坑问题小结)
- docker运行镜像端口(docker镜像访问本地elasticsearch端口操作)
- dockerfile启动容器服务(docker文件存放路径, 获取容器启动命令操作)
- docker安装java8(docker安装java环境的实现步骤)
- 在windows安装docker详细步骤(Docker 部署 Prometheus的安装详细教程)
- docker容器分配(Docker容器数据卷原理及使用方法解析)
- idea docker使用(最新IDEA快速实现Docker镜像部署运行的过程详解)
- docker实现redis集群(详解使用Docker进行Redis主从复制实践)
- docker harbor 配置中央仓库(Docker Gitlab+Jenkins+Harbor构建持久化平台操作)
- docker安装与使用教程(5分钟安装docker详细步骤)
- docker虚拟化容器使用教程(Docker安装ClickHouse并初始化数据测试)
- dockerfile配置参数(dockerfile中ENTRYPOINT与CMD的结合使用及区别)
- docker 改变存储位置方式(修改Docker镜像默认存储位置的方法解决方法)
- docker中mysql连接命令(docker 如何修改mysql的root密码)
- docker进入redis容器(Docker配置redis哨兵模式的方法多服务器上)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
- 各地出招烘 热 旅游(各地出招烘热旅游)
- 2021款起亚霸锐到店了 更换车标,竞争宝马X5有戏吗(2021款起亚霸锐到店了)
热门推荐
- 云服务器配置怎么设置(新手如何选择云服务器配置)
- dedecms标签调用(dedecms获取文档当前栏目所在目录链接URL)
- jquery留言板代码(JavaScript实现留言板添加删除留言)
- docker如何搭建gitlab(docker+gitlab+gitlab-runner部署详解)
- sql怎么查询字段合并(SQL函数将某个字段合并在一起的操作)
- css3 media媒体查询
- 织梦调用栏目内容(织梦标签channel实现列表页调用当前栏目的子类)
- linux服务器安装宝塔(linux宝塔面板安装Zabbix监控服务器资源使用状态)
- 对mysql索引的理解(详解MySQL 8.0 之不可见索引)
- 网站数据迁移到新服务器(网站服务器迁移数据需要注意什么?)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9