设置非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天前
|
存储 Shell Docker
docker 部署单节点的etcd以及 常用使用命令
在 Docker 中部署单节点的 etcd 以及一些常用命令的操作,可以按照以下步骤进行: ## 一、部署单节点 etcd 1. **拉取 etcd Docker 镜像**:您可以从 Docker Hub 拉取 etcd 的官方镜像。 ```shell docker pull quay.io/coreos/etcd:latest ``` 2. **启动 etcd 容器**:使用 `docker run` 命令来启动 etcd 容器。以下是一个示例命令,其中将容器的 2379 端口映射到主机的 2379 端口: ```shell docker run -d \
|
1天前
|
NoSQL Linux Shell
2.Docker常用命令(linux)
2.Docker常用命令(linux)
|
2天前
|
存储 运维 Linux
Docker详解(六)——Docker高级控制命令
Docker详解(六)——Docker高级控制命令
12 2
|
3天前
|
运维 监控 Linux
【专栏】举几个Docker ps 命令的例子,Linux运维必知
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
7天前
|
Ubuntu Linux Shell
Docker 镜像及其命令
Docker 镜像及其命令
47 0
|
7天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
22 1
|
7天前
|
关系型数据库 MySQL Linux
[Docker] 的常用命令
[Docker] 的常用命令
|
8天前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs <container_name>` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
13 0
|
9天前
|
Docker 容器
Docker常用命令实例
Docker常用命令实例
23 1
|
12天前
|
关系型数据库 MySQL 数据库
docker 安装mysql(踩坑踩得想哭 详细解决教程)ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using pa
docker 安装mysql(踩坑踩得想哭 详细解决教程)ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using pa
17 1