Gitea从本地迁移到Docker后推送代码报permission denied错误如何解决?
报错原因
该错误核心是Gitea容器的运行用户(默认为UID=1000、GID=1000的git用户)对容器内/etc/gitea目录没有读写权限:推送代码时触发的pre-receive钩子需要读写该目录下的app.ini配置,权限不足导致钩子执行失败,推送被拒绝。
解决步骤
- 首先停止运行中的Gitea容器
docker stop <你的Gitea容器名称>
- 修改宿主机挂载目录权限,给Gitea运行用户赋予读写权限
chown -R 1000:1000 <宿主机映射到容器/etc/gitea的本地目录路径>
如果你启动容器时自定义了Gitea运行的UID、GID,将上方的1000:1000替换为你自定义的UID:GID即可
- 重启Gitea容器
docker start <你的Gitea容器名称>
- 验证修复效果,重新执行代码推送操作,确认无报错即可正常使用。
补充排查
如果修改权限后仍报错,可检查容器启动配置,确认/etc/gitea对应的宿主机挂载路径正确,未被设置为只读权限。
内容的提问来源于stack exchange,提问作者Thanh Huy Vu
相关产品推荐
相关产品推荐

