使用 arm 架构实例搭建 Harbor

  • 事情准备(使用甲骨文云上实例时的准备事项)
  • 第1步,准备自签名证书
  • 第2步,安装Docker-ce
  • 第3步,构建arm镜像
  • 第4步,安装Harbor
  • 第5步,访问Harbor
  • 第6步,上传镜像进行检证,
  • 其他,上传 v2.7.1 版本镜像的命令
  • 其他,使用 v2.6.4 版本时的命令

事情准备(使用甲骨文云上实例时的准备事项)

  • 准备好arm架构的实例,防火墙开放80和443端口,设置selinux为permissive

  • 设置好虚拟云网络的安全列表,开放80和443端口

  • 创建好客户密钥(甲骨文云用户详细=>客户密钥=>生成密钥)

第1步,准备自签名证书

我们创建一个目录/root/certs来保存证书,示例中使用”myserver.local”作为一级域名,”oracle.myserver.local”作为二级域名。

mkdir -p /root/certs; cd /root/certsopenssl genrsa -des3 -passout pass:123456 -out ca.key 2048openssl rsa -in ca.key -passin pass:123456 -out ca.keyopenssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt -subj "/CN=myserver.local"openssl genrsa -out tls.key 2048openssl req -new -key tls.key -out tls.csr -subj "/CN=myserver.local"cat > server.ext <<EOFauthorityKeyIdentifier=keyid,issuerbasicConstraints=CA:FALSEkeyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEnciphermentsubjectAltName = @alt_names[alt_names]DNS.1 = *.myserver.localDNS.2 = *.oracle.myserver.localEOFopenssl x509 -req -in tls.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out tls.crt -days 3650 -extfile server.ext

第2步,安装Docker-ce

这次咱们使用虚拟机搭建Harbor,需要使用docker和docker-compose,先来安装docker,

sudo yum install -y yum-utilssudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repocat >> /etc/yum.repos.d/docker-ce.repo << "EOF"[centos-extras]name=Centos extras aarch64 - $basearchbaseurl=http://mirror.centos.org/altarch/7/extras/aarch64/enabled=1gpgcheck=1gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7-aarch64EOFsudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo systemctl start dockersudo systemctl enable docker

安装docker-compose,2022年10月2日时点最新版本是2.11.2版,最新版本请查看https://github.com/docker/compose/releases,

sudo curl -L https://github.com/docker/compose/releases/download/v2.11.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose

配置 docker 的 dns,

vi /etc/docker/daemon.json--- add{"dns": ["8.8.8.8"]}---
sudo systemctl daemon-reloadsudo systemctl restart docker

第3步,构建arm镜像

构建过程的录屏: https://www.bilibili.com/video/BV1ro4y187ov

Docker Hub上并没有Harbor arm架构的镜像,所以需要咱们自己构建arm架构的镜像,直接在甲骨文arm架构的虚拟机上执行下面命令,全部完成需要15-30分钟,

sudo yum install -y gitgit clone https://github.com/goharbor/harbor-arm.git; cd harbor-armgit clone --branch release-2.7.0 https://github.com/goharbor/harbor.git src/github.com/goharbor/harbormake compile_redismake prepare_arm_datamake pre_updatemake compile COMPILETAG=compile_golangimagemake build GOBUILDTAGS="include_oss include_gcs" BUILDBIN=true NOTARYFLAG=true TRIVYFLAG=true CHARTFLAG=true GEN_TLS=true PULL_BASE_FROM_DOCKERHUB=false

如果大家不想自己构建镜像,也可以通过执行下面命令,下载我构建好的镜像。

docker pull engchina/harbor-exporter:v2.7.1; docker tag engchina/harbor-exporter:v2.7.1 goharbor/harbor-exporter:dev-armdocker pull engchina/harbor-exporter-base:v2.7.1; docker tag engchina/harbor-exporter-base:v2.7.1 goharbor/harbor-exporter-base:dev-armdocker pull engchina/chartmuseum-photon:v2.7.1; docker tag engchina/chartmuseum-photon:v2.7.1 goharbor/chartmuseum-photon:dev-armdocker pull engchina/harbor-chartserver-b:v2.7.1; docker tag engchina/harbor-chartserver-b:v2.7.1 goharbor/harbor-chartserver-base:dev-armdocker pull engchina/redis-photon:v2.7.1; docker tag engchina/redis-photon:v2.7.1 goharbor/redis-photon:dev-armdocker pull engchina/harbor-redis-base:v2.7.1; docker tag engchina/harbor-redis-base:v2.7.1 goharbor/harbor-redis-base:dev-armdocker pull engchina/trivy-adapter-photon:v2.7.1; docker tag engchina/trivy-adapter-photon:v2.7.1 goharbor/trivy-adapter-photon:dev-armdocker pull engchina/harbor-trivy-adapter:v2.7.1; docker tag engchina/harbor-trivy-adapter:v2.7.1 goharbor/harbor-trivy-adapter-base:dev-armdocker pull engchina/harbor-notary-signer:v2.7.1; docker tag engchina/harbor-notary-signer:v2.7.1 goharbor/harbor-notary-signer-base:dev-armdocker pull engchina/harbor-notary-server:v2.7.1; docker tag engchina/harbor-notary-server:v2.7.1 goharbor/harbor-notary-server-base:dev-armdocker pull engchina/harbor-registryctl:v2.7.1; docker tag engchina/harbor-registryctl:v2.7.1 goharbor/harbor-registryctl:dev-armdocker pull engchina/harbor-registryctl-b:v2.7.1; docker tag engchina/harbor-registryctl-b:v2.7.1 goharbor/harbor-registryctl-base:dev-armdocker pull engchina/registry-photon:v2.7.1; docker tag engchina/registry-photon:v2.7.1 goharbor/registry-photon:dev-armdocker pull engchina/harbor-registry-base:v2.7.1; docker tag engchina/harbor-registry-base:v2.7.1 goharbor/harbor-registry-base:dev-armdocker pull engchina/harbor-nginx-base:v2.7.1; docker tag engchina/harbor-nginx-base:v2.7.1 goharbor/harbor-nginx-base:dev-armdocker pull engchina/nginx-photon:v2.7.1; docker tag engchina/nginx-photon:v2.7.1 goharbor/nginx-photon:dev-armdocker pull engchina/harbor-log:v2.7.1; docker tag engchina/harbor-log:v2.7.1 goharbor/harbor-log:dev-armdocker pull engchina/harbor-log-base:v2.7.1; docker tag engchina/harbor-log-base:v2.7.1 goharbor/harbor-log-base:dev-armdocker pull engchina/harbor-jobservice:v2.7.1; docker tag engchina/harbor-jobservice:v2.7.1 goharbor/harbor-jobservice:dev-armdocker pull engchina/harbor-jobservice-ba:v2.7.1; docker tag engchina/harbor-jobservice-ba:v2.7.1 goharbor/harbor-jobservice-base:dev-armdocker pull engchina/harbor-core:v2.7.1; docker tag engchina/harbor-core:v2.7.1 goharbor/harbor-core:dev-armdocker pull engchina/harbor-core-base:v2.7.1; docker tag engchina/harbor-core-base:v2.7.1 goharbor/harbor-core-base:dev-armdocker pull engchina/harbor-portal:v2.7.1; docker tag engchina/harbor-portal:v2.7.1 goharbor/harbor-portal:dev-armdocker pull engchina/harbor-portal-base:v2.7.1; docker tag engchina/harbor-portal-base:v2.7.1 goharbor/harbor-portal-base:dev-armdocker pull engchina/harbor-db:v2.7.1; docker tag engchina/harbor-db:v2.7.1 goharbor/harbor-db:dev-armdocker pull engchina/harbor-db-base:v2.7.1; docker tag engchina/harbor-db-base:v2.7.1 goharbor/harbor-db-base:dev-armdocker pull engchina/prepare:v2.7.1; docker tag engchina/prepare:v2.7.1 goharbor/prepare:dev-armdocker pull engchina/harbor-prepare-base:v2.7.1; docker tag engchina/harbor-prepare-base:v2.7.1 goharbor/harbor-prepare-base:dev-arm docker pull engchina/notary-server-photon:v2.7.1; docker tag engchina/notary-server-photon:v2.7.1 goharbor/notary-server-photon:dev-armdocker pull engchina/notary-signer-photon:v2.7.1; docker tag engchina/notary-signer-photon:v2.7.1 goharbor/notary-signer-photon:dev-arm

第4步,安装Harbor

安装Harbor,2023年4月16日时点最新版本是v2.7.1版,最新版本请查看
https://github.com/goharbor/harbor/releases,

mkdir -p /u01/apps; cd /u01/appswget https://github.com/goharbor/harbor/releases/download/v2.7.1/harbor-offline-installer-v2.7.1.tgztar zxvf harbor-offline-installer-v2.7.1.tgz; cd harbor

修改install.sh,我们使用自己构建的镜像,不需要load Harbor离线安装包里面的镜像,

vi install.sh--- 修改前docker load -i ./harbor*.tar.gz------ 修改后# docker load -i ./harbor*.tar.gz---

修改prepare,我们使用自己构建的镜像,自己构建的镜像默认的tag是dev-arm

vi prepare--- 修改前# goharbor/prepare:v2.7.1 prepare $@------ 修改后goharbor/prepare:dev-arm prepare $@---

创建harbor.yml,并修改其中一些配置项,其中的域名和证明书等信息,请务必根据实际情况修改,

cp harbor.yml.tmpl harbor.ymlvi harbor.yml---hostname: harbor.oracle.myserver.localhttps:certificate: /root/certs/tls.crtprivate_key: /root/certs/tls.keyexternal_url: https://harbor.oracle.myserver.localharbor_admin_password: <your_password>database:password: <your_password>data_volume: /u01/datauaa:ca_file: /root/certs/ca.crt---

执行install.sh进行安装,

mkdir -p /u01/data./install.sh

完成后,我们可以通过docker ps命令查看启动的容器,

docker ps--- outputCONTAINER ID IMAGE COMMANDCREATEDSTATUS PORTSNAMES88c275978aac goharbor/harbor-jobservice:dev-arm"/harbor/entrypoint.…" 25 seconds ago Up 20 seconds (health: starting)harbor-jobservice41f46dc66072 goharbor/nginx-photon:dev-arm "nginx -g 'daemon of…" 25 seconds ago Up 23 seconds (health: starting) 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp nginxc1879fd87e80 goharbor/harbor-core:dev-arm"/harbor/entrypoint.…" 25 seconds ago Up 23 seconds (health: starting)harbor-core657ef06d4706 goharbor/harbor-portal:dev-arm"nginx -g 'daemon of…" 25 seconds ago Up 24 seconds (health: starting)harbor-portal96880fa14ccd goharbor/harbor-db:dev-arm"/docker-entrypoint.…" 25 seconds ago Up 24 seconds (health: starting)harbor-db29d1718fa4c2 goharbor/registry-photon:dev-arm"/home/harbor/entryp…" 25 seconds ago Up 24 seconds (health: starting)registry395c652377d2 goharbor/redis-photon:dev-arm "redis-server /etc/r…" 25 seconds ago Up 24 seconds (health: starting)redis4fce8e51633c goharbor/harbor-registryctl:dev-arm "/home/harbor/start.…" 25 seconds ago Up 24 seconds (health: starting)registryctl6560a21ab66c goharbor/harbor-log:dev-arm "/bin/sh -c /usr/loc…" 25 seconds ago Up 25 seconds (health: starting) 127.0.0.1:1514->10514/tcp---

第5步,访问Harbor

配置hosts文件的域名解析,

 harbor.oracle.myserver.local

浏览器导入自制证书的ca.crt,以火狐(Firefox)为例,设置=>证书=>查看证书,点击导入,选择ca.crt,勾选2个信任选择。

使用浏览器访问,https://harbor.oracle.myserver.local,用户名是admin,密码是harbor.yml里面配置的


第6步,上传镜像进行检证,

由于我们使用的是自签名证书,需要配置让docker信任这个自签名证书,

sudo mkdir -p /etc/docker/certs.d/harbor.oracle.myserver.localsudo cp /root/certs/ca.crt /etc/docker/certs.d/harbor.oracle.myserver.local/sudo systemctl daemon-reloadsudo systemctl restart docker

我们试试登录和上传镜像,

docker login harbor.oracle.myserver.local>admin>docker pull nginx:latestdocker tag nginx:latest harbor.oracle.myserver.local/library/nginx:latestdocker push harbor.oracle.myserver.local/library/nginx:latest

成功后,可以通过浏览器看见nginx的镜像已经存在library的库中了,

其他,上传 v2.7.1 版本镜像的命令

此处为了方便其他构建失败的技术者,我将构建成功的镜像上传到 docker hub 上利于大家直接使用。下面是上传镜像的命令,大家不需要执行。

docker tag goharbor/harbor-exporter:dev-arm engchina/harbor-exporter:v2.7.1; docker push engchina/harbor-exporter:v2.7.1docker tag goharbor/harbor-exporter-base:dev-arm engchina/harbor-exporter-base:v2.7.1; docker push engchina/harbor-exporter-base:v2.7.1docker tag goharbor/chartmuseum-photon:dev-arm engchina/chartmuseum-photon:v2.7.1; docker push engchina/chartmuseum-photon:v2.7.1docker tag goharbor/harbor-chartserver-base:dev-arm engchina/harbor-chartserver-b:v2.7.1; docker push engchina/harbor-chartserver-b:v2.7.1docker tag goharbor/redis-photon:dev-arm engchina/redis-photon:v2.7.1; docker push engchina/redis-photon:v2.7.1docker tag goharbor/harbor-redis-base:dev-arm engchina/harbor-redis-base:v2.7.1; docker push engchina/harbor-redis-base:v2.7.1docker tag goharbor/trivy-adapter-photon:dev-arm engchina/trivy-adapter-photon:v2.7.1; docker push engchina/trivy-adapter-photon:v2.7.1docker tag goharbor/harbor-trivy-adapter-base:dev-arm engchina/harbor-trivy-adapter:v2.7.1; docker push engchina/harbor-trivy-adapter:v2.7.1docker tag goharbor/harbor-notary-signer-base:dev-arm engchina/harbor-notary-signer:v2.7.1; docker push engchina/harbor-notary-signer:v2.7.1docker tag goharbor/harbor-notary-server-base:dev-arm engchina/harbor-notary-server:v2.7.1; docker push engchina/harbor-notary-server:v2.7.1docker tag goharbor/harbor-registryctl:dev-arm engchina/harbor-registryctl:v2.7.1; docker push engchina/harbor-registryctl:v2.7.1docker tag goharbor/harbor-registryctl-base:dev-arm engchina/harbor-registryctl-b:v2.7.1; docker push engchina/harbor-registryctl-b:v2.7.1docker tag goharbor/registry-photon:dev-arm engchina/registry-photon:v2.7.1; docker push engchina/registry-photon:v2.7.1docker tag goharbor/harbor-registry-base:dev-arm engchina/harbor-registry-base:v2.7.1; docker push engchina/harbor-registry-base:v2.7.1docker tag goharbor/harbor-nginx-base:dev-arm engchina/harbor-nginx-base:v2.7.1; docker push engchina/harbor-nginx-base:v2.7.1docker tag goharbor/nginx-photon:dev-arm engchina/nginx-photon:v2.7.1; docker push engchina/nginx-photon:v2.7.1docker tag goharbor/harbor-log:dev-arm engchina/harbor-log:v2.7.1; docker push engchina/harbor-log:v2.7.1docker tag goharbor/harbor-log-base:dev-arm engchina/harbor-log-base:v2.7.1; docker push engchina/harbor-log-base:v2.7.1docker tag goharbor/harbor-jobservice:dev-arm engchina/harbor-jobservice:v2.7.1; docker push engchina/harbor-jobservice:v2.7.1docker tag goharbor/harbor-jobservice-base:dev-arm engchina/harbor-jobservice-ba:v2.7.1; docker push engchina/harbor-jobservice-ba:v2.7.1docker tag goharbor/harbor-core:dev-arm engchina/harbor-core:v2.7.1; docker push engchina/harbor-core:v2.7.1docker tag goharbor/harbor-core-base:dev-arm engchina/harbor-core-base:v2.7.1; docker push engchina/harbor-core-base:v2.7.1docker tag goharbor/harbor-portal:dev-arm engchina/harbor-portal:v2.7.1; docker push engchina/harbor-portal:v2.7.1docker tag goharbor/harbor-portal-base:dev-arm engchina/harbor-portal-base:v2.7.1; docker push engchina/harbor-portal-base:v2.7.1docker tag goharbor/harbor-db:dev-arm engchina/harbor-db:v2.7.1; docker push engchina/harbor-db:v2.7.1docker tag goharbor/harbor-db-base:dev-arm engchina/harbor-db-base:v2.7.1; docker push engchina/harbor-db-base:v2.7.1docker tag goharbor/prepare:dev-arm engchina/prepare:v2.7.1; docker push engchina/prepare:v2.7.1docker tag goharbor/harbor-prepare-base:dev-arm engchina/harbor-prepare-base:v2.7.1; docker push engchina/harbor-prepare-base:v2.7.1docker tag goharbor/notary-server-photon:dev-arm engchina/notary-server-photon:v2.7.1; docker push engchina/notary-server-photon:v2.7.1; docker tag goharbor/notary-signer-photon:dev-arm engchina/notary-signer-photon:v2.7.1; docker push engchina/notary-signer-photon:v2.7.1;

其他,使用 v2.6.4 版本时的命令

sudo yum install -y gitgit clone https://github.com/goharbor/harbor-arm.git; cd harbor-armgit clone --branch release-2.6.0 https://github.com/goharbor/harbor.git src/github.com/goharbor/harbormake compile_redismake prepare_arm_datamake pre_updatemake compile COMPILETAG=compile_golangimagemake build GOBUILDTAGS="include_oss include_gcs" BUILDBIN=true NOTARYFLAG=true TRIVYFLAG=true CHARTFLAG=true GEN_TLS=true PULL_BASE_FROM_DOCKERHUB=false
mkdir -p /u01/apps; cd /u01/appswget https://github.com/goharbor/harbor/releases/download/v2.6.4/harbor-offline-installer-v2.6.4.tgztar zxvf harbor-offline-installer-v2.6.4.tgz; cd harbor

修改install.sh,我们使用自己构建的镜像,不需要load Harbor离线安装包里面的镜像,

vi install.sh--- 修改前docker load -i ./harbor*.tar.gz------ 修改后# docker load -i ./harbor*.tar.gz---

修改prepare,我们使用自己构建的镜像,自己构建的镜像默认的tag是dev-arm

vi prepare--- 修改前# goharbor/prepare:v2.6.4 prepare $@------ 修改后goharbor/prepare:dev-arm prepare $@---

上传 v2.6.4 版本镜像命令,

docker tag goharbor/harbor-exporter:dev-arm engchina/harbor-exporter:v2.6.4; docker push engchina/harbor-exporter:v2.6.4docker tag goharbor/harbor-exporter-base:dev-arm engchina/harbor-exporter-base:v2.6.4; docker push engchina/harbor-exporter-base:v2.6.4docker tag goharbor/chartmuseum-photon:dev-arm engchina/chartmuseum-photon:v2.6.4; docker push engchina/chartmuseum-photon:v2.6.4docker tag goharbor/harbor-chartserver-base:dev-arm engchina/harbor-chartserver-b:v2.6.4; docker push engchina/harbor-chartserver-b:v2.6.4docker tag goharbor/redis-photon:dev-arm engchina/redis-photon:v2.6.4; docker push engchina/redis-photon:v2.6.4docker tag goharbor/harbor-redis-base:dev-arm engchina/harbor-redis-base:v2.6.4; docker push engchina/harbor-redis-base:v2.6.4docker tag goharbor/trivy-adapter-photon:dev-arm engchina/trivy-adapter-photon:v2.6.4; docker push engchina/trivy-adapter-photon:v2.6.4docker tag goharbor/harbor-trivy-adapter-base:dev-arm engchina/harbor-trivy-adapter:v2.6.4; docker push engchina/harbor-trivy-adapter:v2.6.4docker tag goharbor/notary-server-photon:dev-arm engchina/notary-server-photon:v2.6.4; docker push engchina/notary-server-photon:v2.6.4docker tag goharbor/notary-signer-photon:dev-arm engchina/notary-signer-photon:v2.6.4; docker push engchina/notary-signer-photon:v2.6.4docker tag goharbor/harbor-notary-signer-base:dev-arm engchina/harbor-notary-signer:v2.6.4; docker push engchina/harbor-notary-signer:v2.6.4docker tag goharbor/harbor-notary-server-base:dev-arm engchina/harbor-notary-server:v2.6.4; docker push engchina/harbor-notary-server:v2.6.4docker tag goharbor/harbor-registryctl:dev-arm engchina/harbor-registryctl:v2.6.4; docker push engchina/harbor-registryctl:v2.6.4docker tag goharbor/harbor-registryctl-base:dev-arm engchina/harbor-registryctl-b:v2.6.4; docker push engchina/harbor-registryctl-b:v2.6.4docker tag goharbor/registry-photon:dev-arm engchina/registry-photon:v2.6.4; docker push engchina/registry-photon:v2.6.4docker tag goharbor/harbor-registry-base:dev-arm engchina/harbor-registry-base:v2.6.4; docker push engchina/harbor-registry-base:v2.6.4docker tag goharbor/nginx-photon:dev-arm engchina/nginx-photon:v2.6.4; docker push engchina/nginx-photon:v2.6.4docker tag goharbor/harbor-nginx-base:dev-arm engchina/harbor-nginx-base:v2.6.4; docker push engchina/harbor-nginx-base:v2.6.4docker tag goharbor/harbor-log:dev-arm engchina/harbor-log:v2.6.4; docker push engchina/harbor-log:v2.6.4docker tag goharbor/harbor-log-base:dev-arm engchina/harbor-log-base:v2.6.4; docker push engchina/harbor-log-base:v2.6.4docker tag goharbor/harbor-jobservice:dev-arm engchina/harbor-jobservice:v2.6.4; docker push engchina/harbor-jobservice:v2.6.4docker tag goharbor/harbor-jobservice-base:dev-arm engchina/harbor-jobservice-ba:v2.6.4; docker push engchina/harbor-jobservice-ba:v2.6.4docker tag goharbor/harbor-core:dev-arm engchina/harbor-core:v2.6.4; docker push engchina/harbor-core:v2.6.4docker tag goharbor/harbor-core-base:dev-arm engchina/harbor-core-base:v2.6.4; docker push engchina/harbor-core-base:v2.6.4docker tag goharbor/harbor-portal:dev-arm engchina/harbor-portal:v2.6.4; docker push engchina/harbor-portal:v2.6.4docker tag goharbor/harbor-portal-base:dev-arm engchina/harbor-portal-base:v2.6.4; docker push engchina/harbor-portal-base:v2.6.4docker tag goharbor/harbor-db:dev-arm engchina/harbor-db:v2.6.4; docker push engchina/harbor-db:v2.6.4docker tag goharbor/harbor-db-base:dev-arm engchina/harbor-db-base:v2.6.4; docker push engchina/harbor-db-base:v2.6.4docker tag goharbor/prepare:dev-arm engchina/prepare:v2.6.4; docker push engchina/prepare:v2.6.4docker tag goharbor/harbor-prepare-base:dev-arm engchina/harbor-prepare-base:v2.6.4; docker push engchina/harbor-prepare-base:v2.6.4

下载 v2.6.4 版本镜像命令,

docker pull engchina/harbor-exporter:v2.6.4; docker tag engchina/harbor-exporter:v2.6.4 goharbor/harbor-exporter:dev-armdocker pull engchina/harbor-exporter-base:v2.6.4; docker tag engchina/harbor-exporter-base:v2.6.4 goharbor/harbor-exporter-base:dev-armdocker pull engchina/chartmuseum-photon:v2.6.4; docker tag engchina/chartmuseum-photon:v2.6.4 goharbor/chartmuseum-photon:dev-armdocker pull engchina/harbor-chartserver-b:v2.6.4; docker tag engchina/harbor-chartserver-b:v2.6.4 goharbor/harbor-chartserver-base:dev-armdocker pull engchina/redis-photon:v2.6.4; docker tag engchina/redis-photon:v2.6.4 goharbor/redis-photon:dev-armdocker pull engchina/harbor-redis-base:v2.6.4; docker tag engchina/harbor-redis-base:v2.6.4 goharbor/harbor-redis-base:dev-armdocker pull engchina/trivy-adapter-photon:v2.6.4; docker tag engchina/trivy-adapter-photon:v2.6.4 goharbor/trivy-adapter-photon:dev-armdocker pull engchina/harbor-trivy-adapter:v2.6.4; docker tag engchina/harbor-trivy-adapter:v2.6.4 goharbor/harbor-trivy-adapter-base:dev-armdocker pull engchina/notary-server-photon:v2.6.4; docker tag engchina/notary-server-photon:v2.6.4 goharbor/notary-server-photon:dev-armdocker pull engchina/notary-signer-photon:v2.6.4; docker tag engchina/notary-signer-photon:v2.6.4 goharbor/notary-signer-photon:dev-armdocker pull engchina/harbor-notary-signer:v2.6.4; docker tag engchina/harbor-notary-signer:v2.6.4 goharbor/harbor-notary-signer-base:dev-armdocker pull engchina/harbor-notary-server:v2.6.4; docker tag engchina/harbor-notary-server:v2.6.4 goharbor/harbor-notary-server-base:dev-armdocker pull engchina/harbor-registryctl:v2.6.4; docker tag engchina/harbor-registryctl:v2.6.4 goharbor/harbor-registryctl:dev-armdocker pull engchina/harbor-registryctl-b:v2.6.4; docker tag engchina/harbor-registryctl-b:v2.6.4 goharbor/harbor-registryctl-base:dev-armdocker pull engchina/registry-photon:v2.6.4; docker tag engchina/registry-photon:v2.6.4 goharbor/registry-photon:dev-armdocker pull engchina/harbor-registry-base:v2.6.4; docker tag engchina/harbor-registry-base:v2.6.4 goharbor/harbor-registry-base:dev-armdocker pull engchina/nginx-photon:v2.6.4; docker tag engchina/nginx-photon:v2.6.4 goharbor/nginx-photon:dev-armdocker pull engchina/harbor-nginx-base:v2.6.4; docker tag engchina/harbor-nginx-base:v2.6.4 goharbor/harbor-nginx-base:dev-armdocker pull engchina/harbor-log:v2.6.4; docker tag engchina/harbor-log:v2.6.4 goharbor/harbor-log:dev-armdocker pull engchina/harbor-log-base:v2.6.4; docker tag engchina/harbor-log-base:v2.6.4 goharbor/harbor-log-base:dev-armdocker pull engchina/harbor-jobservice:v2.6.4; docker tag engchina/harbor-jobservice:v2.6.4 goharbor/harbor-jobservice:dev-armdocker pull engchina/harbor-jobservice-ba:v2.6.4; docker tag engchina/harbor-jobservice-ba:v2.6.4 goharbor/harbor-jobservice-base:dev-armdocker pull engchina/harbor-core:v2.6.4; docker tag engchina/harbor-core:v2.6.4 goharbor/harbor-core:dev-armdocker pull engchina/harbor-core-base:v2.6.4; docker tag engchina/harbor-core-base:v2.6.4 goharbor/harbor-core-base:dev-armdocker pull engchina/harbor-portal:v2.6.4; docker tag engchina/harbor-portal:v2.6.4 goharbor/harbor-portal:dev-armdocker pull engchina/harbor-portal-base:v2.6.4; docker tag engchina/harbor-portal-base:v2.6.4 goharbor/harbor-portal-base:dev-armdocker pull engchina/harbor-db:v2.6.4; docker tag engchina/harbor-db:v2.6.4 goharbor/harbor-db:dev-armdocker pull engchina/harbor-db-base:v2.6.4; docker tag engchina/harbor-db-base:v2.6.4 goharbor/harbor-db-base:dev-armdocker pull engchina/prepare:v2.6.4; docker tag engchina/prepare:v2.6.4 goharbor/prepare:dev-armdocker pull engchina/harbor-prepare-base:v2.6.4; docker tag engchina/harbor-prepare-base:v2.6.4 goharbor/harbor-prepare-base:dev-arm

完结!