不使用sudo如何执行Docker命令
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,小编给大家分享一下不使用sudo如何执行Docker命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Problem默认安装完 docker 后,每次执行 docker 都需要运行
千家信息网最后更新 2025年02月01日不使用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安全错误
数据库的锁怎样保障安全
服务器自动生产线哪家价格实惠
网络安全策划书活动背景
网络安全周活动主题
考勤管理系统数据库
服务器硬件监控工具
金水区网络安全基地
如何把数据库部署在阿里云上
怎样才能认识软件开发的呀
苏州大学图书管服务器
易语言启动数据库无效
电脑服务器停机是怎么回事
vb数据库课件
下列网络安全法的特征的是
网络安全部立项
仙桃市游戏软件开发
教学服务器采购申请报告
比尔盖茨互联网科技
山东准安互联网科技是培训
数据库系统原理 第一次
网络安全调度员
catia如何查看选择的服务器
朝阳永续数据库怎么用
小企业网络安全自查总结报告
我国主张的网络安全基本组成
天龙服务器代码
法院网络安全工作措施
如何通过查看数据库的地址
饥荒服务器模组有什么用
会展观众数据库表格
网络安全公司事业群口号