目 录CONTENT

文章目录

在arm64上部署 Harbor (使用镜像:bitnami/harbor-portal)

acmookey
2023-12-14 / 0 评论 / 0 点赞 / 1021 阅读 / 4008 字
温馨提示:
本文最后更新于 2024-02-01,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

由于在Goharbor官网未找到arm64版本的离线镜像 GoHarbor arm64 安装 issue,因此需要自己编译arm64的镜像或使用第三方的镜像。

本文使用了 bitnami/harbor-portallinux/arm64镜像成功在Ubuntu 22.04 TLS on Raspberry Pi4B 上安装部署了Harbor服务,以下步骤提供参考 :)

安装

# mkdir -p /[your_path]/docker_container/harbor
# cd /[your_path]/docker_container/harbor


# curl -LO https://raw.githubusercontent.com/bitnami/containers/main/bitnami/harbor-portal/docker-compose.yml
# curl -L https://github.com/bitnami/containers/archive/main.tar.gz | tar xz --strip=2 containers-main/bitnami/harbor-portal && cp -RL harbor-portal/config . && rm -rf harbor-portal

# vim config/proxy/nginx.conf
  • 网络环境说明: Nginx(https,ZeroSSL) <-> harbor-nginx(non-SSL) <-> harbor, 在Nginx端做了SSL Termination,因此需要参考Running Harbor with HTTP behind a HTTPS Reverse Proxy (nginx)的办法修改harbor的nginx配置文件
  • 修改harbor-nginx的配置config/proxy/nginx.conf,将 Header X-Forwarded-Proto都注释掉 image.png image.png
  • 修改 docker-compose.yml, 指定镜像的平台参数 platform: linux/arm64

部署

# docker-compose up -d
# docker-compose ps
        Name                      Command               State                         Ports
------------------------------------------------------------------------------------------------------------------
harbor-core            /opt/bitnami/scripts/harbo ...   Up      8080/tcp
harbor-db              /opt/bitnami/scripts/postg ...   Up      5432/tcp
harbor-jobservice      /opt/bitnami/scripts/harbo ...   Up      8080/tcp, 8443/tcp
harbor-portal          /opt/bitnami/scripts/harbo ...   Up      8080/tcp, 8443/tcp
harbor_redis_1         /opt/bitnami/scripts/redis ...   Up      6379/tcp
harbor_registry_1      /opt/bitnami/scripts/harbo ...   Up      5000/tcp
harbor_registryctl_1   /opt/bitnami/scripts/harbo ...   Up      8080/tcp, 8443/tcp
nginx                  /opt/bitnami/scripts/nginx ...   Up      0.0.0.0:8080->8080/tcp,:::8084->8080/tcp, 8443/tcp
  • 部署的容器如果有状态不正常的情况,需要查看日志并解决问题(我安装时遇到了拉取的镜像平台不正确的问题,重新拉取了linux/arm64的镜像解决了问题),参考命令如下:
# docker-compose ps
# docker inspect [有问题的容器 id] | grep '"OS_ARCH="' -A 2
# docker image ls | grep '[有问题的镜像名称]'
# docker image rm [有问题的镜像名称]
# docker pull [有问题的镜像名称] --platform=linux/arm64

验证

  • 访问harbor网站验证,eg: harbor.test.com
  • docker登录
docker login harbor.test.com
  • docker push
# docker image ls
snowdreamtech/frpc                  0.31.1      965cb5cff644   3 years ago     20.1MB
# docker tag snowdreamtech/frpc:0.31.1 harbor.test.com/frpc:0.31.1
# docker image ls
snowdreamtech/frpc                  0.31.1      965cb5cff644   3 years ago     20.1MB
harbor.test.com/frpc                0.31.1      965cb5cff644   3 years ago     20.1MB

# docker push harbor.test.com/frpc:0.31.1

image.png

0

评论区