@@ -35,7 +35,8 @@ ifeq ($(type), deb)
3535image_base ="ubuntu"
3636image_tag ="20.04"
3737endif
38-
38+ # Set arch to linux/amd64 if it's not defined
39+ arch ?= linux/amd64
3940buildx =0
4041cache_from=type=local,src =/tmp/.buildx-cache
4142cache_to=type=local,dest =/tmp/.buildx-cache
@@ -54,6 +55,7 @@ define build
5455 --build-arg IMAGE_BASE=$(image_base ) \
5556 --build-arg IMAGE_TAG=$(image_tag ) \
5657 --build-arg CODE_PATH=$(4 ) \
58+ --platform $(arch ) \
5759 -f ./dockerfiles/Dockerfile.$(2 ) .$(3 ) .
5860endef
5961else
@@ -69,6 +71,7 @@ define build
6971 --load \
7072 --cache-from=$(cache_from ) \
7173 --cache-to=$(cache_to ) \
74+ --platform $(arch ) \
7275 -f ./dockerfiles/Dockerfile.$(2 ) .$(3 ) .
7376endef
7477endif
@@ -87,6 +90,7 @@ define build_runtime
8790 --build-arg IMAGE_BASE=$(image_base ) \
8891 --build-arg IMAGE_TAG=$(image_tag ) \
8992 --build-arg CODE_PATH=$(4 ) \
93+ --platform $(arch ) \
9094 -f ./dockerfiles/Dockerfile.$(2 ) .$(3 ) .
9195endef
9296else
@@ -101,6 +105,7 @@ define build_runtime
101105 --load \
102106 --cache-from=$(cache_from ) \
103107 --cache-to=$(cache_to ) \
108+ --platform $(arch ) \
104109 -f ./dockerfiles/Dockerfile.$(2 ) .$(3 ) .
105110endef
106111endif
@@ -118,6 +123,7 @@ define build-image
118123 --build-arg OPENRESTY_NAME=$(4 ) \
119124 --build-arg OPENRESTY_VERSION=$(5 ) \
120125 --build-arg CODE_PATH=$(6 ) \
126+ --platform $(arch ) \
121127 -f ./dockerfiles/Dockerfile.$(2 ) .$(3 ) .
122128endef
123129else
@@ -129,6 +135,7 @@ define build-image
129135 --load \
130136 --cache-from=$(cache_from ) \
131137 --cache-to=$(cache_to ) \
138+ --platform $(arch ) \
132139 -f ./dockerfiles/Dockerfile.$(2 ) .$(3 ) .
133140endef
134141endif
@@ -145,6 +152,7 @@ define package
145152 --build-arg PACKAGE_TYPE=$(2 ) \
146153 --build-arg OPENRESTY=$(openresty ) \
147154 --build-arg ARTIFACT=$(artifact ) \
155+ --platform $(arch ) \
148156 -f ./dockerfiles/Dockerfile.package.$(1 ) .
149157 docker run -d --rm --name output --net="host" apache/$(1 ) -packaged-$(2 ) :$(version )
150158 docker cp output:/output ${PWD}
@@ -164,6 +172,7 @@ define package_runtime
164172 --build-arg PACKAGE_TYPE=$(2 ) \
165173 --build-arg OPENRESTY=$(openresty ) \
166174 --build-arg ARTIFACT=$(artifact ) \
175+ --platform $(arch ) \
167176 -f ./dockerfiles/Dockerfile.package.$(1 ) .
168177 docker run -d --rm --name output --net="host" apache/$(1 ) -packaged-$(2 ) :$(runtime_version )
169178 docker cp output:/output ${PWD}
@@ -290,13 +299,14 @@ package-apisix-base-deb:
290299.PHONY : build-fpm
291300ifneq ($(buildx ) , True)
292301build-fpm :
293- docker build -t api7/fpm - < ./dockerfiles/Dockerfile.fpm
302+ docker build --platform $( arch ) - t api7/fpm - < ./dockerfiles/Dockerfile.fpm
294303else
295304build-fpm :
296305 docker buildx build \
297306 --load \
298307 --cache-from=$(cache_from ) \
299308 --cache-to=$(cache_to ) \
309+ --platform $(arch ) \
300310 -t api7/fpm - < ./dockerfiles/Dockerfile.fpm
301311endif
302312
0 commit comments