升级 Harbor 和迁移数据

本指南涵盖升级和迁移到 v2.13.0。本指南仅涵盖从 v2.11.0 及更高版本迁移到当前版本。如果您是从早期版本升级,请参阅早期 Harbor 版本的迁移指南。

如果您正在升级使用 Helm 部署的 Harbor 实例,请参阅 升级使用 Helm 部署的 Harbor

当将现有 Harbor 实例升级到较新版本时,您可能需要迁移 harbor.yml 中的设置。由于迁移可能会更改数据库模式和 harbor.yml 的设置,因此您应该在任何迁移之前始终备份您的数据。

重要的升级注意事项

  • 再次强调,在任何数据迁移之前,您必须备份您的数据。
  • 在 Harbor v2.9 中,如果您正在使用外部数据库,请确保 PostgreSQL 的版本 >= 12。

升级 Harbor 和迁移数据

  1. 登录到 Harbor 主机,如果它仍在运行,请停止并删除现有的 Harbor 实例。

    cd harbor
    docker compose down
    
  2. 备份 Harbor 当前的文件,以便您可以在必要时回滚到当前版本。

    mv harbor /my_backup_dir/harbor
    
  3. 备份数据库,默认情况下数据库位于 /data/database 目录中。

    cp -r /data/database /my_backup_dir/
    
  4. https://github.com/goharbor/harbor/releases 获取最新的 Harbor 发行包并解压它。

    有关更多信息,请参阅 下载 Harbor 安装程序

  5. 在升级 Harbor 之前,执行迁移。

    迁移工具位于 harbor-prepare tools 中,以 Docker 镜像的形式交付。您可以从 Docker Hub 拉取镜像。在以下命令中

    docker pull goharbor/prepare:[tag]
    

    或者,如果您正在使用离线安装包,您可以从离线安装包中包含的镜像 tarball 加载它。在以下命令中,将 [tag] 替换为新的 Harbor 版本,例如 v1.10.0

    tar zxf <offline package>
    docker image load -i harbor/harbor.[version].tar.gz
    
  6. 复制 /path/to/old/harbor.ymlharbor.yml 并升级它。

    docker run -it --rm -v /:/hostfs goharbor/prepare:[tag] migrate -i ${path to harbor.yml}
    

    注意: 数据库的模式升级和数据迁移在 Harbor 启动时由 core 执行。如果迁移失败,请检查 core 日志以进行调试。

  7. ./harbor 目录中,运行 ./install.sh 脚本以安装新的 Harbor 实例。

    要安装带有 Trivy 的 Harbor,请参阅 运行安装程序脚本 以获取更多信息。

如果您需要回滚到以前版本的 Harbor,请参阅 从升级回滚


本节中的页面