欢迎来到代码驿站!

当前位置:首页 >

如何免sudo使用docker命令详解

时间:2021-05-26 08:14:25|栏目:|点击:

背景

Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。Docker提供了一种在安全、可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕。

对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一。而因为使用的是sudo安装docker,所以会导致一个问题。以普通用户登录的状况下,在使用 docker images 时必须添加 sudo ,那么如何让docker免 sudo 依然可用呢?于是开始搜索解决方案。

理清楚问题

当以普通用户身份去使用 docker images 时,出现以下错误:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

可以看都,最后告知我们时权限的问题。那么在linux文件权限有三个数据左右 drwxrwxrwx ,

其中第一为 d 代表该文件是一个文件夹

前三位、中三位、后三位分别代表这属主权限、属组权限、其他人权限。

如图,其中 第三列、第四列分别代表文件的属主、属组。

上图是报错文件的权限展示,可以看到其属主为 root ,权限为 rw ,可读可写;其属组为 docker ,权限为 rw ,可读可写。如果要当前用户可直接读取该文件,那么我们就为当前用户添加到 docker 属组即可。

如果还没有 docker group 就添加一个:

sudo groupadd docker

将用户加入该 group 内。然后退出并重新登录就生效啦。

sudo gpasswd -a ${USER} docker

重启 docker 服务

sudo service docker restart

切换当前会话到新 group 或者重启 X 会话

newgrp - docker

注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

总结

上一篇:个人站长如何年赚百万?

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:如何免sudo使用docker命令详解

本文地址:http://www.codeinn.net/misctech/129202.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有