Docker搭建Harbor私有镜像仓库全攻略(命令行模式)
2025.10.10 18:40浏览量:4简介:本文详细介绍如何在Linux服务器上通过命令行模式使用Docker搭建Harbor私有镜像仓库,涵盖环境准备、Harbor安装、配置、启动及基础使用方法,适合开发者和运维人员。
Docker搭建Harbor私有镜像仓库(命令行模式)全攻略
一、引言
在容器化部署日益普及的今天,私有镜像仓库成为保障应用安全、提升部署效率的关键基础设施。Harbor作为开源的企业级私有仓库解决方案,不仅支持镜像存储、签名验证,还提供RBAC权限控制、漏洞扫描等高级功能。本文将详细介绍如何通过命令行模式,在Linux服务器上基于Docker快速搭建Harbor私有镜像仓库,帮助开发者及运维人员实现高效、安全的镜像管理。
二、环境准备
2.1 服务器要求
- 操作系统:推荐CentOS 7/8、Ubuntu 18.04/20.04等主流Linux发行版。
- 硬件配置:至少4GB内存(生产环境建议8GB+)、20GB以上磁盘空间(根据镜像存储需求调整)。
- 网络要求:确保服务器可访问外网(用于下载Docker及Harbor镜像),若需内网访问,需配置内网DNS解析。
2.2 安装Docker
Harbor依赖Docker运行,需先安装Docker Engine及Docker Compose(Harbor 2.0+推荐使用)。
# 以CentOS为例sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.iosudo systemctl enable --now docker# 验证安装sudo docker run hello-world
2.3 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose --version
三、Harbor安装与配置
3.1 下载Harbor安装包
访问Harbor官方GitHub,选择最新稳定版(如v2.5.0),下载二进制包或使用wget直接下载:
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgztar xvf harbor-offline-installer-v2.5.0.tgzcd harbor
3.2 配置Harbor
修改harbor.yml.tmpl文件(或复制为harbor.yml):
3.3 运行安装脚本
# 生成配置文件(若修改了harbor.yml.tmpl)cp harbor.yml.tmpl harbor.yml# 执行安装(自动下载依赖镜像并启动)sudo ./install.sh
四、Harbor启动与管理
4.1 启动与停止
Harbor通过Docker Compose管理,启动/停止命令如下:
# 启动cd /path/to/harborsudo docker-compose up -d# 停止sudo docker-compose down
4.2 访问Harbor
浏览器访问http://your.domain.com(或IP),输入用户名admin及配置的密码登录。
4.3 配置HTTPS(可选)
生产环境需启用HTTPS以保障安全:
- 生成证书(使用Let’s Encrypt或自签名):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \-keyout /etc/pki/tls/private/harbor.key \-out /etc/pki/tls/certs/harbor.crt \-subj "/CN=your.domain.com"
- 修改
harbor.yml中的HTTPS配置,重新运行install.sh。
五、Harbor基础使用
5.1 推送镜像到Harbor
- 登录Harbor:
docker login your.domain.com# 输入用户名(admin或创建的项目用户)及密码
- 标记镜像并推送:
docker tag nginx:latest your.domain.com/library/nginx:v1docker push your.domain.com/library/nginx:v1
5.2 从Harbor拉取镜像
docker pull your.domain.com/library/nginx:v1
5.3 创建项目与用户
- 创建项目:登录Harbor Web界面,点击“新建项目”,设置项目名称(如
dev-team)及访问级别(公开/私有)。 - 创建用户:在“用户管理”中添加用户,分配至项目并设置角色(如开发者、访客)。
六、高级功能与维护
6.1 漏洞扫描
Harbor集成Clair进行镜像漏洞扫描,需在harbor.yml中启用:
clair:enabled: truehttp_proxy:https_proxy:
重启Harbor后,扫描结果可在镜像详情页查看。
6.2 备份与恢复
- 备份数据:
# 备份数据库(PostgreSQL)sudo docker exec -it harbor-db pg_dump -U postgres -F c harbor > harbor_backup.dump# 备份配置文件cp harbor.yml harbor.yml.bak
- 恢复数据:使用备份文件重新初始化数据库并恢复配置。
6.3 升级Harbor
- 下载新版安装包。
- 停止当前Harbor:
cd /path/to/harborsudo docker-compose down
- 更新
harbor.yml(如有配置变更),运行新版install.sh。
七、常见问题与解决
7.1 端口冲突
若80端口被占用,修改harbor.yml中的http.port为其他端口(如8080),并更新防火墙规则。
7.2 证书问题
客户端使用自签名证书时,需在/etc/docker/daemon.json中配置:
{"insecure-registries": ["your.domain.com"]}
重启Docker服务:
sudo systemctl restart docker
7.3 性能优化
- 磁盘空间:定期清理未使用的镜像(
docker system prune)。 - 内存限制:在
docker-compose.yml中为Harbor服务设置内存限制(如mem_limit: 2g)。
八、总结
通过命令行模式搭建Harbor私有镜像仓库,开发者可快速构建安全、高效的镜像管理平台。本文从环境准备、安装配置到基础使用及高级功能,提供了完整的操作指南。实际部署中,需根据业务需求调整配置(如HTTPS、RBAC权限),并定期维护以确保稳定性。Harbor的集成能力(如与Jenkins、Kubernetes联动)将进一步释放容器化部署的潜力,值得深入探索。

发表评论
登录后可评论,请前往 登录 或 注册