
在Linux上用非root的用户执行docker的时候会报错。
解决办法
步骤 1:把当前用户加入 docker 组
bash
# -aG 追加到附属组,不能省略 -a,否则会清空其他用户组
sudo usermod -aG docker $USER
如果是给其他用户授权,替换 $USER:
sudo usermod -aG docker deploy
步骤 2:刷新用户组(二选一)
方式 A:当前终端立即生效(不用重登)
newgrp docker
方式 B:彻底生效(SSH / 桌面环境推荐)
退出当前终端、重新登录服务器;虚拟机建议重启一次。
步骤 3:验证
bash
# 查看用户组,输出包含 docker 即成功
id
# 无 sudo 测试
docker ps
步骤 4:修复遗留权限警告(之前用过 sudo docker 才需要)
之前用 sudo docker 生成的 ~/.docker 目录属主是 root,会报配置文件权限警告,执行修复:
bash
sudo chown "$USER":"$USER" ~/.docker -R
sudo chmod g+rwx ~/.docker -R