—harbor
harbor 是一个用于存储和分发docker镜像的企业级registry服务器,由vmware开源,在docker registry的基础上添加了企业必须的功能,如安全认证、镜像扫描、镜像管理、远程镜像复制等
#harbor官网地址
https://goharbor.io/
#github地址
https://github.com/vmware/harbor
—harbor的优势
1、基于角色的访问控制
2、镜像复制
3、图形化用户界面
4、LDAP支持
5、审计管理
6、RESTfulAPI
7、部署简单
—harbor组件
1、Core Service 基于nginx实现harbor反向代理组件,用于接收客户端请求,代理会转发harbor web和docker client的各种请求到后端服务上
2、Admin Service harbor系统管理接口,可以修改系统配置以及获取系统信息
3、SQL Database 存储项目的元数据、用户、规则、复制策略等信息
4、Image Registry 存储docker images的服务,提供镜像读写请求服务
5、Redis 存储缓存信息
6、vulner ability scanning 镜像漏洞扫描服务
7、trusted content 可信服务,用于验证镜像的数字签名信息,保证镜像的一致性
—部署harbor
#harbor部署依赖docker和docker-compose
root@wuyang-3:~/harbor/harbor# docker --version
Docker version 20.10.19, build d85ef84
root@wuyang-3:~/harbor/harbor# docker-compose --version
docker-compose version 1.28.6, build 5db8d86f
#下载harbor安装包并解压
root@wuyang-3:~/harbor# tar xvf harbor-offline-installer-v2.6.1.tgz
harbor/harbor.v2.6.1.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl
#修改harbor配置文件
root@wuyang-3:~/harbor# ls -la
total 739548
drwxr-xr-x 3 root root 4096 10月 26 12:22 .
drwx------ 10 root root 4096 10月 26 12:21 ..
drwxr-xr-x 2 root root 4096 10月 26 12:23 harbor
-rw-r--r-- 1 root root 757278514 10月 26 12:22 harbor-offline-installer-v2.6.1.tgz
root@wuyang-3:~/harbor# cd harbor/
root@wuyang-3:~/harbor/harbor# cp -a harbor.yml.tmpl harbor.yml
root@wuyang-3:~/harbor/harbor#
root@wuyang-3:~/harbor/harbor# cp -a harbor.yml.tmpl harbor.yml
#修改harbor服务监听的地址 hostname:192.168.127.136
root@wuyang-3:~/harbor/harbor# cat harbor.yml | grep "hostname: reg.mydomain.com" -n
5:hostname: reg.mydomain.com
#修改harbor服务监听的端口
root@wuyang-3:~/harbor/harbor# cat harbor.yml | grep -B2 -n "port: 80"
8-http:
9- # port for http, default is 80. If https enabled, this port will redirect to https port
10: port: 80
#修改账户和密码 默认为 admin : Harbor12345
root@wuyang-3:~/harbor/harbor# cat harbor.yml | grep -B2 -n "harbor_admin_password: Harbor12345"
32-# It only works in first time to install harbor
33-# Remember Change the admin password from UI after launching Harbor.
34:harbor_admin_password: Harbor12345
#修改docker服务器配置仓库信任
root@wuyang-3:~/harbor/harbor# cat /etc/docker/daemon.json | grep insecure-registries
"insecure-registries": ["192.168.127.136"],
#执行harbor安装脚本
bash install.sh
#访问harbor的web界面
http://192.168.127.136:80