不使用sudo如何执行Docker命令
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,小编给大家分享一下不使用sudo如何执行Docker命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Problem默认安装完 docker 后,每次执行 docker 都需要运行
千家信息网最后更新 2024年11月28日不使用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安全错误
数据库的锁怎样保障安全
itunes假装的服务器
网络技术创客实验室
佛山通信软件开发报价表
基岩版局域网服务器
我省网络安全宣传
河北廊坊软件开发培训学校
学校网络安全 新闻
租服务器做游戏管理
支付互联网科技公司
服务器短信验证
网络安全最严峻的问题
政法委网络安全管理
我的世界服务器公告栏mod
巨人通力电梯的服务器怎么用
未来网络安全绪论
吴桥软件开发
环保从业人员数据库
邵阳计算机网络技术哪家好
电脑开机后服务器一直重启
windows服务器修改文件
怎么删数据库中的记录
太原鲲鹏服务器批发厂家
吉安企业服务器需要多少钱
数据库系统安全是
大二下转网络安全宣传周
我的世界服务器崩了还能玩吗
软件开发学什么好学
四川网络安全第一案
我的世界服务器公告栏mod
图像识别文字软件开发