
当你在NAS上运行越来越多的Docker服务时,会发现镜像管理变得越来越混乱。公共仓库pull速度慢、版本记录不清晰、无法管理团队权限……这些问题都在呼唤一个专业的私有镜像仓库解决方案。Harbor正是CNCF毕业的项目,作为企业级Docker Registry,为NAS用户提供了强大的镜像管理能力。
Harbor的核心价值:为什么需要私有Registry
公有Docker Hub虽然方便,但存在几个明显局限:网络延迟影响pull速度、无法确保镜像安全合规、缺乏完整的版本管理和访问控制。对于在NAS上部署关键服务的用户来说,Harbor解决了这些痛点。
Harbor提供了镜像签名和内容信任机制,确保只有经过授权的镜像才能被部署。它还支持漏洞扫描、角色权限管理、镜像复制等企业级功能。更重要的是,所有这些都运行在你自己的NAS上,数据完全自主可控。
快速部署Harbor到NAS
Harbor官方提供docker-compose部署方式,非常适合NAS环境。首先下载Harbor安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-online-installer-v2.10.0.tgz
tar xvf harbor-online-installer-v2.10.0.tgz
cd harbor配置docker-compose.yml,设置管理员密码和域名:
hostname: nas.yourdomain.com
http:
port: 8888
harbor_admin_password: YourStrongPassword
database:
password: database_password
max_idle_conns: 50
conn_max_lifetime: 14400m
conn_max_idle_time: 0
data_volume: /volume1/data/harbor
jobservice:
job_worker_max: 10
trivy:
ignore_unfixed: false
offline_scan: false
security_charts_migration: true
proxy:
no_proxy: harbor-core,harbor-jobservice,harbor-registry,harbor-portal,harbor-db,redis,trivy然后执行安装:
sudo ./install.sh --with-notary --with-trivy --with-chartmuseum这会启动Harbor的所有组件,包括核心服务、PostgreSQL数据库、Redis缓存、Notary内容信任服务以及Trivy漏洞扫描器。
使用Harbor管理NAS上的Docker镜像
部署完成后,通过浏览器访问 http://your-nas-ip:8888,使用admin账户登录。进入"新建项目"创建私有仓库:
为NAS上的每个服务类型创建独立项目,如docker-registry(通用镜像)、home-automation(智能家居)等。在项目中你可以设置仓库可见性、配置Webhook、甚至开启自动镜像复制到其他Harbor实例。
在NAS的Docker守护进程中配置Harbor作为默认仓库:
# /etc/docker/daemon.json
{
"registry-mirrors": [],
"insecure-registries": ["nas.yourdomain.com:8888"],
"registry-mirrors": ["http://nas.yourdomain.com:8888"]
}
sudo systemctl restart docker现在就可以push镜像到私有仓库了:
docker tag myapp:latest nas.yourdomain.com/docker-registry/myapp:latest
docker push nas.yourdomain.com/docker-registry/myapp:latest通过Harbor的Web界面,你可以清晰地看到每个镜像的不同版本,追踪版本变更历史,甚至设置自动清理策略释放存储空间。


评论(0)