如何免sudo使用docker命令详解

 更新时间:2017年12月10日 11:20:42   作者:Wu Zhangjin  
有时候发现docker有的指令必须加sudo才能执行,下面这篇文章主要给大家介绍了关于如何免sudo使用docker命令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。

背景

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构建简单的个人主页网站实战教程

    Docker构建简单的个人主页网站实战教程

    Docker是一种开源容器化技术,可以打包、发布和运行应用程序,本教程介绍了如何使用Docker构建一个简单的个人主页网站,通过编写Dockerfile来自定义镜像,并展示了如何通过传入环境变量来动态更改网页内容,项目使用的技术包括Docker、Alpine、Nginx、HTML、CSS和JavaScript
    2024-10-10
  • docker内服务访问宿主机服务的实现

    docker内服务访问宿主机服务的实现

    本文主要介绍了docker内服务访问宿主机服务的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Ubuntu使用Docker部署Redis并实现远程访问本地数据库全过程

    Ubuntu使用Docker部署Redis并实现远程访问本地数据库全过程

    这篇文章主要给大家介绍了关于Ubuntu使用Docker部署Redis并实现远程访问本地数据库的相关资料,Redis远程连接是指通过网络连接到Redis服务器,从而可以在不同的机器问和操作Redis数据库,需要的朋友可以参考下
    2024-03-03
  • 解决docker重启redis,mysql数据丢失的问题

    解决docker重启redis,mysql数据丢失的问题

    这篇文章主要介绍了解决docker重启redis,mysql数据丢失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker for windonws之Windows 10 家庭中文版安装clickhouse 22.3版本及配置过程

    docker for windonws之Windows 10 家庭中文版安装cl

    这篇文章主要介绍了docker for windonws之Windows 10 家庭中文版安装clickhouse 22.3版本及配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 教你如何在windows 10家庭版上安装docker

    教你如何在windows 10家庭版上安装docker

    这篇文章主要介绍了如何在windows 10家庭版上安装docker的步骤,本文分为五步通过图文给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • dockerfile部署前端vue打包的ist文件实战

    dockerfile部署前端vue打包的ist文件实战

    这篇文章主要为大家介绍了dockerfile部署前端vue打包的ist文件实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • docker容器如何优雅的终止详解

    docker容器如何优雅的终止详解

    最近公司在试验如何将项目部署到docker容器中去,这其中涉及到一个技术环节,那就是如何让docker容器优雅的终止。所谓优雅终止,指的就是程序在退出前有清理资源,保存必要中间状态,持久化内存数据的机会。下面通过这篇大家一起由简单到复杂逐一考量一下。
    2016-11-11
  • docker使用Dockerfile构建镜像的实现示例

    docker使用Dockerfile构建镜像的实现示例

    本文主要介绍了docker使用Dockerfile构建镜像的实现示例,通过编写 Dockerfile,您可以定义镜像的基础环境、安装软件包、复制文件、设置环境变量等操作,下面就来介绍一下
    2024-01-01
  • Docker四种网络模式演示及连通性测试

    Docker四种网络模式演示及连通性测试

    这篇文章主要为大家介绍了Docker四种网络模式演示及连通性测试,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04

最新评论