不使用sudo如何执行Docker命令
发表于:2024-10-03 作者:千家信息网编辑
千家信息网最后更新 2024年10月03日,小编给大家分享一下不使用sudo如何执行Docker命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Problem默认安装完 docker 后,每次执行 docker 都需要运行
千家信息网最后更新 2024年10月03日不使用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安全错误
数据库的锁怎样保障安全
戴尔服务器虚拟化多少钱
杭州弈天网络技术有限公司开业
网络安全典型安全心得体会
数据库设计之范式介绍
网络安全单位
农业银行软件开发广州
网络技术国内外研究现状
海曙区专业软件开发
单机文件与数据库管理
数据库系统测试的技术和方法
冒险岛2微信算数据库
dnf周年庆服务器怎么样
sgte数据库
关闭政府与网络安全
英文打车软件开发
数据库中的信息服务如何勾选
分布数据库架构
网络安全涉密信息领导审核
网络安全法 限制自由
10年软件开发简历自我评价
数据库怎么更新表结构
分组交换技术在计算机网络技术
关于网络安全的微信
网络安全防范知识宣讲
临汾商场触控拍照软件开发公司
网络安全我的书屋手抄报
智森计算机软件开发有限公司
网络安全责任制检查考核指标
关于软件开发介绍
我的世界服务器OP都有啥指令