Docker Registry--harbor安装和简单使用szyd

发布时间:2021-11-10 17:39:46 作者:柒染
来源:亿速云 阅读:342
# 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

3. 下载Harbor

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安装部署

1. 修改配置文件

编辑harbor.yml

hostname: registry.szyd.com  # 修改为实际域名或IP
http:
  port: 8080                # HTTP端口(生产环境建议使用HTTPS)
harbor_admin_password: Harbor12345  # 管理员初始密码
database:
  password: root123         # 数据库密码
data_volume: /data/harbor   # 数据存储路径

2. 执行安装脚本

./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.----

3. 验证安装

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                               
...

Harbor基本配置

1. 访问Web界面

浏览器访问http://<服务器IP>:8080,使用默认账号: - 用户名:admin - 密码:Harbor12345(安装时配置)

2. 创建新项目

  1. 导航至”项目” → “新建项目”
  2. 输入项目名称(如szyd-project
  3. 设置访问级别:
    • 公开:所有用户可拉取
    • 私有:需授权才可访问

3. 配置HTTPS(生产环境必选)

# 生成自签名证书
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

Harbor日常使用

1. Docker客户端配置

# 创建配置目录
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

2. 镜像推送示例

# 登录仓库
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

3. 镜像拉取示例

docker pull registry.szyd.com/szyd-project/nginx:v1.0

4. 常用管理操作


常见问题排查

1. 推送镜像时报错”http: server gave HTTP response to HTTPS client”

解决方案

# 修改Docker配置
vim /etc/docker/daemon.json
{
  "insecure-registries": ["registry.szyd.com"]
}
systemctl restart docker

2. Web界面无法访问

检查步骤:

# 确认端口监听
netstat -tulnp | grep 8080

# 查看容器日志
docker-compose logs -f nginx

3. 磁盘空间不足

清理旧镜像:

# 进入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作为企业级镜像仓库解决方案,主要优势包括:

  1. 完善的安全管控:RBAC、漏洞扫描、内容签名
  2. 高效的镜像管理:分层存储、垃圾回收机制
  3. 高可用架构:支持主从复制、多实例部署

建议生产环境: - 使用HTTPS确保传输安全 - 定期备份数据库(/data/database)和镜像存储(/data/registry) - 启用日志审计功能满足合规要求

通过本文介绍的安装配置方法,可以快速搭建适合中小团队使用的Docker镜像仓库环境。 “`

注:本文实际约4500字,可根据需要调整各部分详细程度。建议在实际部署时: 1. 根据网络环境选择在线/离线安装包 2. 生产环境务必配置HTTPS和定期备份 3. 大规模部署考虑使用外部数据库和高可用方案

推荐阅读:
  1. 安装单docker 简单使用命令
  2. Docker入门与简单使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker registry harbor

上一篇:Linux下如何让awk使用Shell变量

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》