绿联NAS搭建私有Gitea代码仓库(完美解决Docker镜像拉取超时)本地代码上传全套教程
绿联NAS搭建私有Gitea代码仓库(完美解决Docker镜像拉取超时)本地代码上传全套教程
💡 前言:很多小伙伴想用绿联NAS搭建私人代码仓库,替代GitHub、Gitee公共仓库,实现代码本地私有存储、版本管理。但90%的人第一步就踩坑:Docker拉取Gitea镜像超时、境外仓库无法访问。
本文提供绿联NAS专属、亲测可用的全套部署方案,彻底解决 dockerCli.ImagePull 镜像拉取超时 问题,从环境准备、镜像加速、Gitea部署、仓库创建到本地代码上传,全程傻瓜式操作,新手零门槛。
适用设备:全系列绿联NAS(UGOS / UGOS Pro系统)
核心实现:Docker部署Gitea轻量私有Git仓库,本地代码一键上传至NAS私有存储
一、问题报错解析(你遇到的坑)
1.1 完整报错信息
failed to download image gitea/gitea:latest. error: dockerCli.ImagePull(gitea/gitea:latest): Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
附加提示:这是一个境外网页,当前无法访问,请尝试其他网页
Docker默认使用境外官方镜像仓库,国内网络无法直连,导致连接超时、镜像下载失败,并非NAS配置错误。只需配置国内镜像源即可完美解决。
二、NAS前期环境准备
2.1 基础环境检查
-
绿联NAS已开启Docker应用(应用中心直接安装即可)
-
设置NAS为静态局域网IP(避免IP变动导致仓库无法访问)
-
可选:控制面板开启SSH服务,方便后期运维排错
2.2 创建Gitea数据持久化目录
为防止容器重启、更新后数据丢失,提前在NAS存储卷创建专属目录,进入NAS【文件管理】,在volume1下新建三个目录:
-
/volume1/gitea(根目录) -
/volume1/gitea/data(代码仓库数据) -
/volume1/gitea/log(日志文件)
三、核心解决:Docker镜像加速(永久解决拉取超时)
这是本文最关键步骤,配置后后续所有Docker镜像均可秒拉取,一劳永逸。
3.1 操作步骤
-
打开绿联NAS Docker面板,点击右上角设置按钮
-
找到【镜像仓库/仓库镜像】配置项
-
批量添加以下国内稳定镜像源(全部复制粘贴)
https://docker.mirrors.ustc.edu.cn
https://hub-mirror.c.163.com
https://mirror.baidubce.com
以下是配置镜像加速的功能截图


-
保存配置,重启Docker服务
-
重启完成后,即可正常拉取Gitea镜像
3.2 临时极速方案(无需改配置)
若不想修改全局配置,可直接使用国内反代镜像下载,Docker镜像仓库手动输入地址:
dockerhub.azk8s.cn/gitea/gitea:latest
四、Docker部署Gitea私有代码仓库
推荐使用Compose一键部署,配置更规范、不易出错,新手首选。
4.1 新建Compose容器
-
NAS Docker面板 → 容器 → 新建容器
-
切换至【Compose模式】,清空默认内容,粘贴以下完整配置
version: "3"
services:
gitea:
image: gitea/gitea:latest
restart: always
ports:
- "3000:3000" # Gitea网页访问端口
- "222:22" # Git SSH端口,避免与NAS22端口冲突
volumes:
- /volume1/gitea/data:/data
- /volume1/gitea/log:/var/log/gitea
environment:
- PUID=1000
- PGID=100
- 点击应用,容器自动下载镜像并启动,全程无需手动干预
4.2 Gitea网页初始化配置
-
浏览器访问:
http://你的NAS局域网IP:3000 -
首次安装配置(新手直接照搬):
-
数据库类型:选择 SQLite3(无需额外部署数据库,个人使用完全足够)
-
仓库根路径:
/data/git-repos -
管理员账号:自定义用户名、密码(务必牢记)
-
应用URL:
http://你的NASIP:3000
-
-
点击【安装】,等待10秒自动跳转登录页面,登录管理员账号
五、创建私有仓库+上传本地代码
5.1 Gitea新建私有仓库
-
Gitea后台右上角【+】→ 新建仓库
-
自定义仓库名称,可见性选择私有(核心!仅自己可见)
-
勾选【初始化仓库】,点击创建
5.2 本地电脑前置配置
本地电脑提前安装Git工具,打开Git Bash终端,执行全局配置(与Gitea账号一致):
# 配置用户名(你的Gitea登录用户名)
git config --global user.name "自定义用户名"
# 配置邮箱
git config --global user.email "你的邮箱"
5.3 两种代码上传方式
方式一:已有本地项目,上传至NAS私有仓库(常用)
# 进入本地项目根目录
cd 你的本地项目路径
# 初始化git仓库(未初始化过执行)
git init
# 添加所有文件到暂存区
git add .
# 提交代码
git commit -m "首次提交:本地代码同步至NAS私有仓库"
# 关联NAS Gitea远程仓库(替换为你的NASIP、用户名、仓库名)
git remote add origin git@192.168.1.100:222/管理员用户名/仓库名.git
# 推送代码到远程仓库
git push -u origin master:main
方式二:克隆NAS仓库到本地,后续迭代开发
# 克隆私有仓库到本地
git clone git@192.168.1.100:222/用户名/仓库名.git
# 进入项目目录,日常更新提交
cd 仓库名
git add .
git commit -m "代码更新"
git push
5.4 SSH免密配置(无需每次输密码)
-
本地终端生成SSH密钥,全程回车默认即可:
ssh-keygen -t rsa -
查看公钥:
cat ~/.ssh/id_rsa.pub,复制全部内容 -
Gitea后台 → 个人设置 → SSH密钥 → 粘贴保存
-
配置完成后,推拉代码无需输入密码
六、日常使用与优化建议
-
局域网访问:
NASIP:3000,速度极速,秒开秒推拉代码 -
外网访问:路由器端口映射3000、222端口,或使用绿联内网穿透
-
数据备份:定期备份NAS中
/volume1/gitea/data目录,杜绝代码丢失 -
权限安全:仓库设置为私有,仅授权账号可访问,代码绝对私密
七、常见问题排查
-
镜像拉取失败:确认已配置国内镜像源,重启Docker后重试,检查端口是否被占用
-
代码推送权限拒绝:检查SSH密钥是否配置正确,或临时使用HTTPS地址登录推送
-
无法访问Gitea页面:关闭NAS、路由器防火墙,放行3000、222端口
八、总结
1. 绿联NAS Docker拉取镜像超时,本质是境外仓库网络不通,配置国内镜像源即可彻底解决;
2. Gitea轻量无负担,适合个人、小型团队搭建私有代码仓库,数据完全自留,安全性远超公共代码托管平台;
3. 全程部署简单,配置持久化目录+自启动策略,一次部署永久使用,完美实现本地代码私有托管。
欢迎点赞收藏,解决NAS部署代码仓库踩坑问题,后续持续更新NAS私有服务搭建教程!
(注:文档部分内容可能由 AI 生成)
更多推荐
所有评论(0)