Harbor私有镜像仓库

简介

  • Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。
  • Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、镜像复制、日志审核、管理界面、自我注册和中文支持等功能。

部署

资源

  • 官方文档:《传送门》
  • GitHub《传送门》
  • 部署文档:《传送门》
  • 管理文档:《传送门》

版本

  • OS: CentOS 7.7
  • Docker19.03.8
  • Docker Compose1.25.5
  • Harbor1.10.2

Docker

1
2
curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

证书

  • 克隆生成自签证书的项目:
1
git clone https://github.com/Fishdrowned/ssl.git /opt/ssl
  • 切换目录:
1
cd /opt/ssl
  • 生成自签名证书:
1
2
# 若需要修改CA、证书相关信息,请编辑ca.cnf
./gen.cert.sh registry.xiaocoder.com
  • 证书存放的目录:ssl/out/registry.xiaocoder.com
  • Harbor配置证书:
1
mkdir -p /data/cert
1
2
cp -L /opt/ssl/out/registry.xiaocoder.com/registry.xiaocoder.com.crt /data/cert/server.crt
cp -L /opt/ssl/out/registry.xiaocoder.com/registry.xiaocoder.com.key.pem /data/cert/server.key

Harbor

  • 下载Harbor的离线安装包:
1
wget https://github.com/goharbor/harbor/releases/download/v1.10.2/harbor-offline-installer-v1.10.2.tgz
  • 解压安装包:
1
tar -zxf harbor-offline-installer-v1.10.2.tgz -C /opt/
  • 切换目录:
1
cd /opt/harbor
  • 修改harbor.yml配置文件:
1
vim harbor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Configuration file of Harbor

# The IP address or hostname to access admin UI and registry se
hostname: registry.xiaocoder.com

# http related config
http:
port: 80

# https related config
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /data/cert/server.crt
private_key: /data/cert/server.key
  • 配置内部DNS解析:
1
echo "172.18.10.100 registry.xiaocoder.com" >> /etc/hosts
  • 部署Harbor
1
2
3
4
./install.sh

# Clair: 用户镜像漏洞分析的工具
./install.sh --with-clair

使用

Web

  • 本地配置hosts
1
<External IP> registry.xiaocoder.com
  • 通过https://<External IP>:<Port>访问Harbor的管理界面。
    • 管理员的默认账号和密码:admin/Harbor12345

Shell

  • docker配置自签证书:
1
2
mkdir -p /etc/docker/certs.d/registry.xiaocoder.com/
cp -a /opt/ssl/out/root.crt /etc/docker/certs.d/registry.xiaocoder.com/
  • 登录私有仓库:
1
docker login registry.xiaocoder.com
  • 下载测试镜像:
1
docker pull busybox:latest
  • 上传测试镜像:
1
2
3
# library是Harbor默认创建的公共的项目
docker tag busybox:latest registry.xiaocoder.com/library/busybox:latest
docker push registry.xiaocoder.com/library/busybox:latest

LDAP

  • OpenLDAP1个集中的用户账号管理系统,使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提高数据的一致性。

维护

排查错误

1
2
cd /opt/harbor/
docker-compse ps

重启服务

1
2
3
cd /opt/harbor/
docker-compse down -v
docker-compse up -d

请作者喝瓶肥宅快乐水