goharbor / harbor-arm

Build Harbor for arm architecture.
Apache License 2.0
69 stars 41 forks source link

Build harbor arm image error #44

Open jepson66 opened 1 year ago

jepson66 commented 1 year ago

1.My local environment is the virtual machine of the Apple system, m1 processor 2.Executed “make build GOBUILDTAGS="include_oss include_gcs" BUILDBIN=true NOTARYFLAG=true TRIVYFLAG=true CHARTFLAG=true GEN_TLS=true PULL_BASE_FROM_DOCKERHUB=false" 3.Reported the following error:

image

4.Has anyone encountered this problem please? Can someone help me how to solve it? Thank you so much!

andiariffin commented 1 year ago

I just built the Harbor images using the provided instructions successfully and did not encounter the problem you had. I think from the error log it is quite clear that the docker buildx build command is having the wrong parameters.

Could you show your _build_prepare: value from /home/harbor-arm/src/github.com/goharbor/harbor/make/photon/Makefile, line 127-131?

_build_prepare:
        @$(call _build_base,$(PREPARE),$(DOCKERFILEPATH_PREPARE))
        @echo "building prepare container for photon..."
        @$(DOCKERBUILD_WITH_PULL_PARA) --build-arg harbor_base_image_version=$(BASEIMAGETAG) --build-arg harbor_base_namespace=$(BASEIMAGENAMESPACE) -f $(DOCKERFILEPATH_PREPARE)/$(DOCKERFILENAME_PREPARE) -t $(DOCKERIMAGENAME_PREPARE):$(VERSIONTAG) .
        @echo "Done."

Also, your docker parameters from the same file as above, line 19-22?

# docker parameters
DOCKERCMD=$(shell which docker)
DOCKERBUILD=$(DOCKERCMD) buildx build --platform linux/arm64 --progress plain --output=type=docker --no-cache
DOCKERBUILD_WITH_PULL_PARA=$(DOCKERBUILD) --pull=$(PULL_BASE_FROM_DOCKERHUB)
Humble-Geralt commented 1 year ago

just change the Makefile of /home/harbor-arm/src/github.com/goharbor/harbor/make/photon/Makefile in line 21: DOCKERBUILD=$(DOCKERCMD) buildx build --platform linux/arm64 --progress plain --output=type=docker --no-cache