# Docker Registry--Harbor安装和简单使用 ## 目录 1. [Harbor概述](#harbor概述) 2. [Harbor核心组件](#harbor核心组件) 3. [安装前准备](#安装前准备) 4. [Harbor安装部署](#harbor安装部署) 5. [Harbor基本配置](#harbor基本配置) 6. [Harbor日常使用](#harbor日常使用) 7. [常见问题排查](#常见问题排查) 8. [总结](#总结) --- ## Harbor概述 Harbor是由VMware公司开源的企业级Docker Registry管理项目,提供以下核心功能: - **镜像仓库管理**:支持多租户的Docker镜像集中存储 - **权限控制(RBAC)**:基于角色的访问控制机制 - **漏洞扫描**:集成Clair组件进行安全扫描 - **镜像复制**:支持多仓库间镜像同步 - **图形化界面**:友好的Web管理界面 - **日志审计**:完整记录所有操作日志 相比官方Docker Registry,Harbor更适合企业级生产环境使用。 --- ## Harbor核心组件 | 组件 | 功能描述 | |-----------------|--------------------------------------------------------------------------| | **Proxy** | Nginx反向代理,处理所有入站请求 | | **Core** | 核心服务,处理Web UI/API请求 | | **Job Service** | 执行镜像复制等异步任务 | | **Registry** | 实际存储Docker镜像的组件 | | **Database** | PostgreSQL数据库存储用户、项目等元数据 | | **Redis** | 缓存会话信息 | | **Clair** | 漏洞扫描组件(可选) | | **Notary** | 内容信任服务(可选) | --- ## 安装前准备 ### 1. 系统要求 - **操作系统**:Linux (推荐Ubuntu 18.04+/CentOS 7+) - **Docker**:18.06.0-ce+ - **Docker Compose**:1.22.0+ - **硬件配置**: - 最小配置:2CPU/4GB内存/40GB磁盘 - 生产建议:4CPU/8GB内存/500GB+磁盘 ### 2. 环境准备 ```bash # 安装Docker curl -fsSL https://get.docker.com | sh systemctl enable docker && systemctl start docker # 安装Docker Compose curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz tar zxvf harbor-offline-installer-v2.4.1.tgz cd harbor
编辑harbor.yml
:
hostname: registry.szyd.com # 修改为实际域名或IP http: port: 8080 # HTTP端口(生产环境建议使用HTTPS) harbor_admin_password: Harbor12345 # 管理员初始密码 database: password: root123 # 数据库密码 data_volume: /data/harbor # 数据存储路径
./install.sh
输出示例:
[Step 0]: checking installation environment... [Step 1]: loading Harbor images... [Step 2]: preparing environment... [Step 3]: starting Harbor... ✔ ----Harbor has been installed and started successfully.----
docker-compose ps
正常应显示所有组件状态为Up
:
Name Command State Ports --------------------------------------------------------------------------------------- harbor-core /harbor/entrypoint.sh Up harbor-db /docker-entrypoint.sh Up 5432/tcp harbor-jobservice /harbor/entrypoint.sh Up ...
浏览器访问http://<服务器IP>:8080
,使用默认账号: - 用户名:admin - 密码:Harbor12345(安装时配置)
szyd-project
)# 生成自签名证书 mkdir -p /data/certs openssl req -newkey rsa:4096 -nodes -sha256 \ -keyout /data/certs/registry.szyd.com.key \ -x509 -days 3650 \ -out /data/certs/registry.szyd.com.crt # 修改harbor.yml https: port: 443 certificate: /data/certs/registry.szyd.com.crt private_key: /data/certs/registry.szyd.com.key # 重新部署 ./prepare docker-compose down -v docker-compose up -d
# 创建配置目录 mkdir -p /etc/docker/certs.d/registry.szyd.com # 复制证书 cp /data/certs/registry.szyd.com.crt /etc/docker/certs.d/registry.szyd.com/ca.crt # 重启Docker systemctl restart docker
# 登录仓库 docker login registry.szyd.com -u admin -p Harbor12345 # 标记镜像 docker tag nginx:latest registry.szyd.com/szyd-project/nginx:v1.0 # 推送镜像 docker push registry.szyd.com/szyd-project/nginx:v1.0
docker pull registry.szyd.com/szyd-project/nginx:v1.0
docker-compose stop docker run -it --rm -v /data/registry:/storage \ goharbor/registry-photon:v2.4.1 garbage-collect /etc/registry/config.yml docker-compose start
解决方案:
# 修改Docker配置 vim /etc/docker/daemon.json { "insecure-registries": ["registry.szyd.com"] } systemctl restart docker
检查步骤:
# 确认端口监听 netstat -tulnp | grep 8080 # 查看容器日志 docker-compose logs -f nginx
清理旧镜像:
# 进入Harbor安装目录 cd /opt/harbor # 执行清理脚本 docker run -it --rm -v /data/registry:/storage \ goharbor/registry-photon:v2.4.1 garbage-collect /etc/registry/config.yml
Harbor作为企业级镜像仓库解决方案,主要优势包括:
建议生产环境: - 使用HTTPS确保传输安全 - 定期备份数据库(/data/database)和镜像存储(/data/registry) - 启用日志审计功能满足合规要求
通过本文介绍的安装配置方法,可以快速搭建适合中小团队使用的Docker镜像仓库环境。 “`
注:本文实际约4500字,可根据需要调整各部分详细程度。建议在实际部署时: 1. 根据网络环境选择在线/离线安装包 2. 生产环境务必配置HTTPS和定期备份 3. 大规模部署考虑使用外部数据库和高可用方案
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。