不使用sudo如何执行Docker命令
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小编给大家分享一下不使用sudo如何执行Docker命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Problem默认安装完 docker 后,每次执行 docker 都需要运行
千家信息网最后更新 2025年12月02日不使用sudo如何执行Docker命令
小编给大家分享一下不使用sudo如何执行Docker命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
Problem
默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。
如果不跟 sudo,直接执行 docker images 命令会有如下问题:
[liujun@li1581-58 ~]$ docker psCannot connect to the Docker daemon. Is the docker daemon running on this host?[liujun@li1581-58 ~]$ ps -ef | grep dockerroot 7427 1 0 4月24 ? 00:13:22 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --selinux-enabled --log-driver=journald --signature-verification=falseroot 7431 7427 0 4月24 ? 00:01:13 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc --runtime-args --systemd-cgroup=trueroot 7738 7427 0 4月24 ? 00:00:02 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 9797 -container-ip 172.17.0.2 -container-port 9797root 7762 7431 0 4月24 ? 00:00:03 /usr/bin/docker-containerd-shim-current 4db3d279d762fd42a7ba9e773ba47d6b6d61c157247afd395c4a83ae8a35ca77 /var/run/docker/libcontainerd/4db3d279d762fd42a7ba9e773ba47d6b6d61c157247afd395c4a83ae8a35ca77 /usr/libexec/docker/docker-runc-currentroot 7837 7427 0 4月24 ? 00:00:02 /usr/libexec/docker/docker-proxy-current -proto tcp -host-ip 0.0.0.0 -host-port 6868 -container-ip 172.17.0.3 -container-port 6868root 7852 7431 0 4月24 ? 00:00:08 /usr/bin/docker-containerd-shim-current 99b7e7fdbbcd10245672a220154a9a7bc0d9d91a7a7fb641a778e60559089159 /var/run/docker/libcontainerd/99b7e7fdbbcd10245672a220154a9a7bc0d9d91a7a7fb641a778e60559089159 /usr/libexec/docker/docker-runc-currentliujun 19302 19028 0 01:45 pts/0 00:00:00 grep --color=auto docker
原因分析
[liujun@li1581-58 ~]$ sudo ls -l /var/run/docker.socksrw-rw---- 1 root docker 0 6月 7 01:47 /var/run/docker.sock
启动docker时,使用sudo 启动,用的是root权限,普通用户是没有权限访问/var/run/docker.sock。
该进程所属docker组
而 docker 组具有 setuid 权限(详见 srw-rw-- 意义)
所以只需要把用户加入到docker组就行了。
解决步骤:
创建group组
如果还没有 docker group 就添加一个:
添加当前用户用户到docker组
[liujun@li1581-58 ~]$ sudo groupadd docker [liujun@li1581-58 ~]$ sudo gpasswd -a ${USER} docker正在将用户"liujun"加入到"docker"组中重启 docker 服务
[liujun@li1581-58 ~]$ sudo service docker restartRedirecting to /bin/systemctl restart docker.service
切换会话
newgrp - docker
因为 groups 命令获取到的是缓存的组信息,
刚添加的组信息未能生效, 所以需要切换当前会话到新的组
检查
[liujun@li1581-58 ~]$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES99b7e7fdbbcd docker.io/amorphobia/docker-ssserver "/usr/local/bin/ssser" 3 months ago Up 3 minutes 0.0.0.0:6868->6868/tcp boring_roentgen4db3d279d762 docker.io/amorphobia/docker-ssserver "/usr/local/bin/ssser" 3 months ago Up 3 minutes 0.0.0.0:9797->9797/tcp silly_franklin
看完了这篇文章,相信你对"不使用sudo如何执行Docker命令"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
命令
用户
权限
信息
篇文章
切换
普通
原因
原因分析
完了
意义
所属
效率
时间
更多
正在
步骤
知识
缓存
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
当今网络安全主要特点是整体的
青岛商友网络技术
汽车网络技术的优点是什么
excel 清空数据库表
北京搜狗网络技术有限公司
电脑怎么变成网络文件服务器
想做一名网络安全工程师
服务器装ubuntu系统
手机玩的三国单机游戏没有服务器
qt上传数据库到服务器
维护国家网络安全展板
湖北银河信息技术学院网络安全
网络安全微课获奖
服务器f8进不去安全模式
南通idc服务器厂商
网络技术春考可以报考哪些专业
巨龙网络安全
做软件开发的会需要到短信吗
软件开发工具的软件
河南1u服务器机箱上哪找
pbe显示未连接到下载服务器
中国经济真菌数据库
天津软件开发驻场哪家好
运营我的世界服务器需要
qt上传数据库到服务器
软件测试 一定要学数据库
纯软件开发的出路
福州信达宇网络技术有限公司
dsp的软件开发平台有哪些
数据库事务 银行转账过程