一、配置harbor
注意路径,不要不更改就直接做
1、下载
wget https://github.com/goharbor/harbor/releases/download/v2.6.0/harbor-offline-installer-v2.6.0.tgz
2、解压:
tar -zxvf harbor-offline-installer-v2.6.0.tgz
3、修改harbor配置
cd harbor
cp harbor.yml.tmpl harbor.yml
编辑 harbor.yml 文件
vim harbor.yml
hostname: 主机IP(如果是内网访问可以写主机名)
http下的port: 端口号
https模块下的都注释掉
二、安装harbor相关依赖
1、安装yum工具包
yum install -y yum-utils
2、安装docker
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y
systemctl start docker
systemctl enable docker
3、yum安装EPEL源
yum -y install epel-release
4、yum安装python3-pip
yum install python3-pip
5、pip3安装docker-compose
pip3 install --upgrade pip
pip3 install docker-compose
docker-compose version
6、安装harbor
./prepare
./install.sh
浏览器访问IP:端口
7、应用启停
cd /data/harbor
docker-compose up -d #启动harbor
cd /data/harbor
docker-compose down -v #停止harbor
docker ps |grep harbor #检查进程
三、异常问题处理
docker login 域名或IP+端口 #登录镜像仓库命令
报错信息
ErrImagePull: rpc error: code = Unknown desc = Error response from daemon: Get https://IP:端口/v2/: http: server gave HTTP response to HTTPS client
解决方式
1. 编辑docker daemon.json
vim /etc/docker/daemon.json
2. 在文件中添加如下内容(你也可以把IP和端口换成域名)
{
"insecure-registries": ["IP:端口"]
}
3. 重新加载daemon
systemctl daemon-reload
4. 重启docker
systemctl restart docker
四、更改管理员密码
1、进入[harbor-db]容器内部
docker exec -it harbor-db /bin/bash
2、进入postgresql命令行
psql -h postgresql -d postgres -U postgres #这要输入默认密码:root123 。
psql -U postgres -d postgres -h 127.0.0.1 -p 5432 #或者用这个可以不输入密码。
3、切换到harbor所在的数据库
\c registry
4、查看harbor_user表
select * from harbor_user;
5、例如修改admin的密码,修改为初始化密码 Harbor12345 ,修改好了之后再可以从web ui上再改一次(更改初始密码)。
update harbor_user set salt='', password='' where username='admin'; #正确方法
五、Harbor证书更换
下载后的ssl证书文件解压后为:harbor.xxx.com.key 与 harbor.xxx.com.pem,将这两个文件放到以下目录中
查看本地的HarborSSL证书地址(/data/harbor/harbor.yml文件中的https下的路径)
那么我查看到路径为/data/harbor/cert目录下的 harbor.xxx.com.key 与 harbor.xxx.com.pem 文件替换(注意路径)
查看本地的HarborSSL证书映射地址(/data/harbor/docker-compose.yml文件中的proxy下的路径)
路径为/data/secret/cert目录下的 server.key 与 server.crt 文件替换,这里的server.crt实际是harbor.ecar.com.pem文件,注意更改替换后的文件名称。
mv harbor.xxx.com.pem server.crt
mv harbor.xxx.com.key server.key
chown 10000:10000 ./* #务必注意:修改所有者与所属组为10000
docker-compose restart proxy #重启harbor的nginx容器
如果重启失败,请检查是否按照步骤进行操作