You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无Root用户使用Podman运行docker-compose时遇权限拒绝连接错误

解决无Root用户Podman+docker-compose权限拒绝问题

以下是针对PermissionError: [Errno 13] Permission denied报错的具体解决步骤:

1. 确认Podman无Root模式的Socket路径

无Root用户的Podman socket默认路径为:

$XDG_RUNTIME_DIR/podman/podman.sock
# 等价路径
/run/user/$(id -u)/podman/podman.sock

执行命令查看该路径的权限配置:

ls -l $XDG_RUNTIME_DIR/podman/podman.sock

正常输出应显示当前用户拥有读写权限,示例:

srw-rw----. 1 yourname yourname 0 日期 时间 /run/user/1000/podman/podman.sock

2. 正确配置DOCKER_HOST环境变量

确保环境变量指向无Root用户专属的Podman socket,而非系统级路径:

export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock

如需永久生效,将上述命令添加到shell配置文件(~/.bashrc、~/.zshrc等),并重新加载:

source ~/.bashrc

3. 重启用户级Podman Socket服务

系统级podman.socket对无Root用户无效,需操作用户会话内的服务:

systemctl --user restart podman.socket
systemctl --user enable podman.socket

检查服务运行状态:

systemctl --user status podman.socket

确认输出显示active (listening)。

4. 验证连接有效性

先确认Podman自身运行正常:

podman info

再测试docker-compose的连接状态:

docker-compose version

无报错后尝试启动容器:

docker-compose up -d

5. 极端情况:手动修复Socket权限

若以上步骤无效,直接调整socket权限:

chmod 660 $XDG_RUNTIME_DIR/podman/podman.sock
chown $USER:$USER $XDG_RUNTIME_DIR/podman/podman.sock

调整完成后重启Podman socket服务。


内容的提问来源于stack exchange,提问作者Pranav balu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 07:36:23