Harbor 是一个容器镜像的管理工具——拉取镜像,上传镜像和扫描镜像,可以进行私有化部署。目前有很多公司都在用 Harbor 作为自己公司内部的镜像仓库。本文将介绍如何搭建 Harbor。
依赖下载
在开始搭建前,先准备一个 CentOS 的服务器,并且关闭 selinux。
Harbor 官方给的部署方式为容器化部署,需要先准备好相关的依赖包,命令如下:
wget https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-offline-installer-v2.11.0.tgz
tar zxvf harbor-offline-installer-v2.11.0.tgz
准备好 Harbor 的安装包之后需要安装 docker-ce 容器的管理工具,命令如下:
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
cp /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/
在使用 docker 进行镜像上传时,需要认证镜像仓库,因为 harbor 没有证书或者使用的是自签名的证书,需要配置 docker 的免认证,创建 /etc/docker/daemon.json 文件内容如下:
{
"insecure-registries": ["1982.168.8.148"], //修改为自己的 Ip 地址
}
配置完成后启动 docker :
systemctl start docker
systemctl enable docker
部署 harbor
harbor 启动需要 harbor.yml 文件,进入到解压后的 harbor 目录,执行以下命令获得 harbor.yml 文件:
cd harbor
cp harbor.yml.tmpl harbor.yml
修改文件的以下部分:
hostname: 192.168.8.148 #修改为服务器 IP
# https: 注释掉 https 部分
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
harbor_admin_password: Harbor12345 # harbor admin 用户的登录密码,根据需要修改。
data_volume: /data ##数据存放地址,根据需要修改。
trivy:
insecure: true ##取消证书认证
运行 harbor
执行以下命令启动 harbor :
firewall-cmd --permanent --add-port=80/tcp ##开启防火墙的 80 端口
firewall-cmd --reload
systemctl restart docker
./install.sh
运行完成后在浏览器上访问 192.168.8.148 这个地址,就可以看到 harbor 的控制界面了。