通过Harbor部署Docker私仓
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。这里介绍一款企业级Docker镜像仓库Harbor的部署和使用,在Kubernetes集群中,推荐使用Harbor仓库环境。
一、Harbor仓库介绍
我们在日常Docker容器使用和管理过程中,渐渐发现部署企业私有仓库往往是很有必要的, 它可以帮助你管理企业的一些敏感镜像, 同时由于Docker Hub的下载速度的原因, 往往需要将一些无法直接下载的镜像导入本地私有仓库. 而Harbor就是部署企业私有仓库的一个不二之选。
Harbor是由VMware公司开源的企业级的Docker Registry管理项目,Harbor主要提供Dcoker Registry管理UI,提供的功能包括:基于角色访问的控制权限管理(RBAC)、AD/LDAP集成、日志审核、管理界面、自我注册、镜像复制和中文支持等。
Harbor的目标是帮助用户迅速搭建一个企业级的Docker registry服务。它以Docker公司开源的registry为基础,额外提供了如下功能:
- 基于角色的访问控制(Role Based Access Control)
- 基于策略的镜像复制(Policy based image replication)
- 镜像的漏洞扫描(Vulnerability Scanning)
- AD/LDAP集成(LDAP/AD support)
- 镜像的删除和空间清理(Image deletion & garbage collection)
- 友好的管理UI(Graphical user portal)
- 审计日志(Audit logging)
- RESTful API
- 部署简单(Easy deployment)
二、Harbor安装部署
1.首先需要安装好docker和docker-compose
CentOS上安装dockerCentOS上安装docker-compose
2.下载Harbor安装包
官方Github的下载地址:https://github.com/goharbor/harbor/releases
注意:这里一定要选择的是offline的版本
可以通过一下命令直接在centos上进行下载,但是github的下载速度可能有点慢,也可以手动下载安装包再上传到服务器上
我把离线包上传到csdn提供下载:harbor-offline-installer-v2.7.1.tgz
wget https://github.com/goharbor/harbor/releases/download/v2.7.1/harbor-offline-installer-v2.7.1.tgz
3.解压Harbor
# 解压Harbor安装包
tar -zxvf ${安装包位置}/harbor-offline-installer-v2.7.1.tgz -C ${解压后的文件位置}
4.配置证书
# 进入harbor解压后的目录
cd ${解压后的文件位置}
# 生成证书
openssl genrsa -out ca.key 4096
# 下面命令需要填写自己的域名或者IP,本人使用本机IP
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=${域名或者IP}" \
-key ca.key \
-out ca.crt
上面命令执行完毕会在harbor目录下生成ca.crt和ca.key文件
将生成的证书移动到/data/cert/
# 创建/data/cert/
sudo mkdir /data/cert/
# 把证书(ca.crt、ca.key)位置移到/data/cert/目录下
sudo mv ./ca.* /data/cert/
5.修改Harbor的配置文件
# 进入harbor解压后的目录,将配置文件复制一份
cd ${解压后的文件位置}
cp harbor.yml.tmpl harbor.yml
# 修改配置文件中的内容
vim harbor.yml
配置文件主要修改内容如下:
6.安装Harbor
# 1.执行prepare配置Harbor,在harbor目录下执行
sudo ./prepare
# 2.执行install.sh安装Harbor,在harbor目录下执行
sudo ./install.sh
# 接着控制台就会打印harbor的安装过程:
# 检查docker是否安装 [Step 0]: checking if docker is installed ...
# 检查docker-compose是否安装 [Step 1]: checking docker-compose is installed ...
# 加载Harbor的镜像文件 [Step 2]: loading Harbor images ...
# 准备Harbor的部署环境 [Step 3]: preparing environment ...
# 准备Harbor的配置文件 [Step 4]: preparing harbor configs ...
# 启动Harbor [Step 5]: starting Harbor ...
如果出现上图绿色部分字样,那么恭喜你,Harbor安装成功!
7.访问Harbor的服务
浏览器输入:https://配置的IP或者域名:端口/
注意:此步骤如果不通,请查看自己设置的端口防火墙是否开启
默认用户名:admin
默认密码:Harbor12345