Linux环境下解决普通用户调用Docker命令

Linux环境下解决普通用户调用Docker命令

    • 命令权限问题
          • 解决方法1.
          • 解决方法2.
    • 关于作者

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.39/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

其他博主的解释: docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。

命令权限问题

既然是命令的权限问题,那就有好多中解决方法了,

解决方法1.

直接用root身份来执行, 但只能root执行命令, 感觉怪怪的

解决方法2.

docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组
docker ps    #测试docker命令是否可以使用sudo正常使用

关于作者

联系方式 - [email protected]

你也可以通过 github | csdn | @新浪微博 关注我的动态

    如果有任何问题或者建议,欢迎大家评论点赞

我的Docker专栏

  • FISCO-BCOS也有一个Python"区块链盒子"–即拆即用的区块链框架
  • Docker搭建本地私有仓库
  • Linux环境下解决普通用户调用Docker命令
  • Docker+Git 搭建Flask项目实验
  • Alpine,pip安装包的时候出现error: command ‘gcc’ failed with exit status 1
  • docker run 的 -i -t -d参数

你可能感兴趣的:(Docker,Linux,docker,linux,运维,devops)