免sudo使用docker命令

背景

因为使用的是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

image.png

  • 其中第一为d代表该文件是一个文件夹
  • 前三位、中三位、后三位分别代表这属主权限、属组权限、其他人权限。
  • 如图,其中 第三列、第四列分别代表文件的属主、属组。

image.png

上图是报错文件的权限展示,可以看到其属主为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 执行时同样有错。

原文地址:https://www.cnblogs.com/mafeng/p/8683914.html

时间: 2024-08-24 05:09:36

免sudo使用docker命令的相关文章

如何免 sudo 使用 docker

简介 默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率.如果不跟 sudo,直接执行 docker images 命令会有如下问题: FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled 

免 sudo 使用 docker

免 sudo 使用 docker 如果还没有 docker group 就添加一个: sudo groupadd docker 将用户加入该 group 内.然后退出并重新登录就生效啦. sudo gpasswd -a ${USER} docker 重启 docker 服务 sudo service docker restart

常用docker命令

常用命令1.  查看容器的root用户密码 docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1 因为Docker容器启动时的root用户的密码是随机分配的.所以,通过这种方式就可以得到redmine容器的root用户的密码了.2.    查看容器日志 docker logs -f <容器名orID> 3.    查看正在运行的容器 docker ps    docker ps -a为查看所有的容器,包括已经停止

Ubuntu 下 docker 命令免输 sudo

当在Ubuntu系统中装好了Docker 后,发现输入 docker ps 命令时候,会提示 permission denied.如下图 需要执行 sudo docker ps 命令并键入密码才能够正确运行,有时候密码比较复杂不容易记住.有没有简单方法可以免输 sudo 跟密码呢?肯定是可以的. 我们只需要在组里面添加 docker, 然后把当前用户追加到 docker 这组当中就OK了.执行下面的命令. sudo groupadd docker sudo usermod -aG docker

docker命令不需要敲sudo的方法

由于docker daemon需要绑定到主机的Unix socket而不是普通的TCP端口,而Unix socket的属主为root用户,所以其他用户只有在命令前添加sudo选项才能执行相关操作. 如果不想每次使用docker命令的时候还要额外的敲一下sudo,可以按照下面的方法配置一下. 创建一个docker组 $ sudo groupadd docker 添加当前用户到docker组 $ sudo usermod -aG docker $USER 登出,重新登录shell 验证docker命

Ubuntu、CentOS 解决docker命令权限问题(sudo)

#创建docker组 [email protected]:~$ sudo groupadd docker groupadd: group 'docker' already exists #将当前用户加入docker组 [email protected]:~$ sudo gpasswd -a ${USER} docker Adding user weiyj to group docker #重启docker服务 [email protected]:~$ sudo service docker re

docker命令每次需要sudo操作解决方案

1.创建docker组:sudo groupadd docker 2.将当前用户加入docker组:sudo gpasswd -a ${USER} docker 3.重启服务:sudo service docker restart 4.刷新docker成员:newgrp - docker 原文地址:https://www.cnblogs.com/answerThe/p/12238998.html

深入浅出Docker(二):Docker命令行探秘

1. Docker命令行 Docker官方为了让用户快速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的使用方法.但是由于Docker技术的快速发展,此交互式教程已经无法满足Docker用户的实际使用需求,所以让我们一起开始一次真正的命令行学习之旅.首先,Docker的命令清单可以通过运行docker ,或者 docker help 命令得到: $ sudo docker 在Docker容器技术不断演化的过程中,Docker的子命令已经达到34个之多,其中核心子命令(

shell 脚本实战笔记(8)--ssh免密码输入执行命令

前言: ssh命令, 没有指定密码的参数. 以至于在脚本中使用ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本的自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓狂.本文讲解了两种方式, 一种借助expect脚本, 一种借助sshpass来实现. *) 借助expect脚本来实现1. expect不是系统自带的工具, 需要安装yum install expect -y 2. expect脚本的编写规则 1. [#!/usr/bin/expect] 告知系统脚