您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。