设置非root账号不用sudo直接执行docker命令

简介: 常用操作备忘

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

环境信息

  1. 操作系统:Ubuntu 20.04 LTS 桌面版
  2. Docker:19.03.10

    现状

  3. 当前账号是willzhao,直接执行docker xxx命令会报以下错误:
    willzhao@ideapad:~$ 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.40/images/json: dial unix /var/run/docker.sock: connect: permission denied
    
  4. 执行sudo docker xxx命令,会提示输入当前账号密码,然后可以成功:
    willzhao@ideapad:~$ sudo docker images
    [sudo] willzhao 的密码: 
    REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
    bolingcavalry/probedemo   0.0.1               803f83e12d88        3 hours ago         508MB
    hello-world               latest              bf756fb1ae65        5 months ago        13.3kB
    openjdk                   8u212-jdk-stretch   03b20c1fa768        11 months ago       488MB
    
  5. 每次执行docker命令都要输入密码不方便,尤其是在shell脚本中就更麻烦了,一起来解决这个问题;

    设置

  6. 创建名为docker的组,如果之前已经有该组就会报错,可以忽略这个错误:
    sudo groupadd docker
    
  7. 将当前用户加入组docker:
    sudo gpasswd -a ${USER} docker
    
  8. 重启docker服务(生产环境请慎用):
    sudo systemctl restart docker
    
  9. 添加访问和执行权限:
    sudo chmod a+rw /var/run/docker.sock
    
  10. 操作完毕,验证一下,现在可以不用带sudo了:
    willzhao@ideapad:~$ docker images
    REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
    bolingcavalry/probedemo   0.0.1               803f83e12d88        4 hours ago         508MB
    hello-world               latest              bf756fb1ae65        5 months ago        13.3kB
    openjdk                   8u212-jdk-stretch   03b20c1fa768        11 months ago       488MB
    

欢迎关注阿里云开发者社区:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

相关文章
|
1月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
321 124
|
4月前
|
安全 Unix Linux
Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误。
通过上述步骤,可以有效解决普通用户无法使用Docker命令的问题,同时处理 `/var/run/docker.sock`权限错误。这样的设置不仅方便用户使用Docker提供的各项服务,同时还能保护系统的安全性。在进行此类配置更改时,请确保理解每一步骤的作用及潜在的安全风险,尤其是在修改文件权限时。在实际的操作中,始终应该努力保持系统的最低必要权限,避免过度放宽权限,这是保障系统安全的一个重要方针。
1270 75
|
5月前
|
Docker 容器
Docker run命令-p参数详解
本文介绍Docker端口映射的基础用法。通过`docker run -p <宿主机端口>:<容器端口>`实现端口映射,例如`-p 5000:80`将宿主机5000端口映射到容器80端口,外部访问宿主机5000端口时流量会转发至容器内部的80端口。示例命令中,`-d`用于后台运行,`--restart=always`确保容器自动重启,`--name`指定容器名称。部署完成后可通过`http://服务器IP地址:5000`验证服务是否正常运行。
|
4月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
571 0
|
6月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
1069 30
|
8月前
|
存储 Docker 容器
Docker Volumes卷详解及时区、时间同步设置技巧
总的来说,Docker卷是一种强大的数据持久化和数据共享工具,而Docker的时区和时间同步设置则可以帮助你更好地管理和使用你的容器。希望这些信息能够帮助你更好地理解和使用Docker。
376 75
|
6月前
|
Ubuntu Linux 开发者
常用的Docker命令:docker_cmd_sheet
以上就是一些常用的Docker命令,希望能帮助你更好地驾驭这个强大的工具。记住,Docker就像是一个魔法咒语,只有真正理解和熟练使用,才能发挥出它的最大魔力。
154 22
|
6月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
222 16
|
6月前
|
关系型数据库 MySQL Docker
|
6月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
358 5