目录
目录结构
程序路径:/home/docker/gitlab
- bak/(老版本备份目录)
- harbor/(现版本在用目录)
环境路径:/home/docker/pyenv
开始升级
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 使用虚拟环境
source /home/docker/pyenv/docker_py27/bin/activate
cd /home/docker/gitlab/harbor
# 停掉在用版本
docker-compose down -v
# 备份
mv /home/docker/gitlab/harbor /home/docker/gitlab/bak/harbor_bak_v1.8.0
cp -r /data/harbor/database /data/backup/database_bak_v1.8.0
# 下载需要安装的 harbor
wget https://github.com/goharbor/harbor/releases/download/v1.10.2/harbor-offline-installer-v1.10.2.tgz
tar xzvf harbor-offline-installer-v1.10.2.tgz
cd harbor/
docker image load -i harbor/harbor.v1.10.2.tar.gz
# 下载迁移工具(版本和要安装的 harbor 版本一致)
docker pull goharbor/harbor-migrator:v1.10.2
docker run -it --rm \
-v /home/docker/gitlab/bak/harbor_bak_v1.8.0/harbor.yml:/harbor-migration/harbor-cfg/harbor.yml \
-v /home/docker/gitlab/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml \
goharbor/harbor-migrator:v1.10.2 --cfg up
# 迁移配置完成后,查看 harbor.yml 无误后,执行安装程序
./install.sh --with-notary --with-clair --with-chartmuseum
修改配置
如果启动 docker-compose 后,发现需要修改配置的话。
操作如下:
1
2
3
4
5
6
7
8
9
10
11
source /home/docker/pyenv/docker_py27/bin/activate
cd /home/docker/gitlab/harbor
docker-compose down -v
vim harbor.yml
./prepare --with-notary --with-clair --with-chartmuseum
deactivate
升级 docker-compose
升级高版本的 harbor 时,在执行 install.sh 时,有可能会提示 docker-compose 版本过低。
操作如下:
1
2
3
# 升级虚拟环境下的 docker-compose 执行文件
wget https://github.com/docker/compose/releases/download/1.25.5/docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /home/docker/pyenv/docker_py27/bin/docker-compose
重置 harbor admin 密码
升级后的 harbor 可能有登录不上的问题,重置 admin 的密码可以解决。
默认 admin 密码为:Harbor12345
操作如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 登陆 harbor-db
docker exec -it harbor-db /bin/bash
# 连接 postgresql
psql -U postgres -d postgres -h 127.0.0.1 -p 5432
# 切换到 harbor 所在的数据库
\l # 查看所有库
\c registry
# 查看 harbor_user 表
\d # 查看所有表
Select * from harbor_user;
# 修改 admin 密码(密码为 Harbor12345)
update harbor_user set password='a71a7d0df981a61cbb53a97ed8d78f3e', salt='ah3fdh5b7yxepalg9z45bu8zb36sszmr' where username='admin';
# 退出
\q
exit