服务器版本: CentOS Linux release 7.6.1810 (Core)
一、准备工作
1.上传软件包到/usr/local/software/harbor服务器路径(路径可自定义)
mkdir -p /usr/local/software/harbor
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SO0cTM1QTNzETN0kDOzYTMvwFOwITMxIDMy8CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
2.关闭防火墙,关闭selinux
临时并永久关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
临时并永久关闭selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
使用harbor要先安装docker及docker-compose
docker安装教程请参考 https://blog.51cto.com/u_15418847/4759907
二、安装docker-compose
添加可执行权限
chmod +x /usr/local/software/harbor/docker-compose
复制到到/usr/local/bin/目录之后即安装完成:
cp /usr/local/software/harbor/docker-compose /usr/local/bin
查看docker-compose版本
docker-compose --version
三、安装harbor
1.创建https证书
# 创建证书目录,并赋予权限
mkdir -p /cert/harbor
chmod -R 777 /cert/harbor
cd /cert/harbor
# whereis openssl 检查是否有安装openssl,如果没有先安装openssl组件,如果有就不用安装了
whereis openssl
yum install openssl
# 创建服务器证书密钥文件harbor.key
openssl genrsa -des3 -out harbor.key 2048
# 输入MiMa,确认MiMa,自己随便定义,但是要记住,后面会用到。
# 创建服务器证书的申请文件harbor.csr
openssl req -new -key harbor.key -out harbor.csr
# 输入密钥文件的MiMa, 参考下图
# 备份一份服务器密钥文件
cp harbor.key harbor.key.org
# 去除文件口令
openssl rsa -in harbor.key.org -out harbor.key
# 输入密钥文件的MiMa
# 创建一个自当前日期起为期十年的证书 harbor.crt
openssl x509 -req -days 3650 -in harbor.csr -signkey harbor.key -out harbor.crt
2.解压安装包,修改配置文件
cd /usr/local/software/harbor
tar -zxvf harbor-offline-installer-v2.2.0.tgz
解压之后有这些目录
修改配置文件
提前创建好harbor的数据目录和日志目录
cd /usr/local/software&& mkdir harbor-data
cd /usr/local/software&& mkdir harbor-log
cd /usr/local/software&& chmod -R 777 harbor-data
cd /usr/local/software&& chmod -R 777 harbor-log
cd /usr/local/software/harbor/harbor&& cp harbor.yml.tmpl harbor.yml
vim harbor.yml
# 将hostname改成本机IP或域名,不要用localhost,127.0.0.1或0.0.0.0,冒号后面都有一个空格
hostname: 172.10.6.56
# 将http端口改成10080,因为默认用的80端口已经被占用,http可以指定任意端口
http:
port: 10080
# 配置https的端口,只能使用443端口,更改证书路径,证书路径为刚刚生成的https证书的实际路径
https:
port: 443
certificate: /cert/harbor/harbor.crt
private_key: /cert/harbor/harbor.key
# 修改后台管理MiMa
harbor_admin_password: harbor12345
# harbor的内部数据库MiMa
database:
password: root123
# 修改harbor数据存储路径与日志存储路径,目录要先创建好并赋予777权限
data_volume: /usr/local/software/harbor-data
# 修改日志存放路径,默认路径为/var/log/harbor
log:
local:
localtion: /usr/local/software/harbor-log
主要配置如下图
3.执行安装脚本
cd /usr/local/software/harbor/harbor&& sh install.sh
执行成功如下
4.浏览器访问
浏览器访问:https://172.10.6.56/
账号:admin
MiMa:Abc123
5.docker信任配置
要让docker可以访问harbor,需要将harbor域名或IP设置为docker的受信任仓库
修改配置文件 /etc/docker/daemon.json ,增加docker受信任IP或域名
vim /etc/docker/daemon.json(所有节点)
{
"insecure-registries": ["172.10.6.56:443"]
}
拷贝https证书文件harbor.crt到 /etc/docker/certs.d/serverIp 文件夹。、
如果是集群,每个节点都要拷贝证书文件
mkdir -p /etc/docker/certs.d/172.10.6.56
cp /cert/harbor/harbor.crt /etc/docker/certs.d/172.10.6.56/ca.crt
#注意,拷贝过去的证书文件名为 ca.crt
在其他节点机器执行
mkdir -p /etc/docker/certs.d/172.10.6.56
在部署harbor的机器执行
scp /cert/harbor/harbor.crt root@IP:/etc/docker/certs.d/172.10.6.56/ca.crt
#重启docker
systemctl daemon-reload
systemctl restart docker
重启harbor
cd /usr/local/software/harbor/harbor
./prepare
docker-compose down
docker-compose up -d
6.登录harbor
docker login 172.10.6.56:443 -u 用户名 -p MiMa
参考
https://www.cnblogs.com/yyee/p/13121272.html