aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.release30
1 files changed, 28 insertions, 2 deletions
diff --git a/Makefile.release b/Makefile.release
index ab06006dc..6328ad122 100644
--- a/Makefile.release
+++ b/Makefile.release
@@ -100,9 +100,35 @@ upload:
.PHONY: docker-build
docker-build: tar
+ # Steps:
+ # 1. Copy appropriate coredns binary to build/docker/linux/<arch>
+ # 2. Copy Dockerfile to build/docker/linux/<arch>
+ # 3. Replace base image from alpine:latest to <arch>/alpine:latest
+ # 4. Comment RUN in Dockerfile
+ # <arch>:
+ # arm: arm32v6
+ # arm64: arm64v8
+ rm -rf build/docker
for arch in $(LINUX_ARCH); do \
- tar -xzf release/$(NAME)_$(VERSION)_linux_$$arch.tgz ;\
- docker build -t coredns . ;\
+ mkdir -p build/docker/linux/$$arch ;\
+ tar -xzf release/$(NAME)_$(VERSION)_linux_$$arch.tgz -C build/docker/linux/$$arch ;\
+ cp Dockerfile build/docker/linux/$$arch ;\
+ if [ $$arch != amd64 ]; then \
+ case $$arch in \
+ arm) \
+ BASEIMAGE=arm32v6 ;\
+ ;; \
+ arm64) \
+ BASEIMAGE=arm64v8 ;\
+ ;; \
+ *) \
+ BASEIMAGE=$$arch ;\
+ ;; \
+ esac ;\
+ sed -e "s/alpine:latest/$$BASEIMAGE\\/alpine:latest/" -i build/docker/linux/$$arch/Dockerfile ;\
+ sed -e "s/^\\s*RUN/#RUN/" -i build/docker/linux/$$arch/Dockerfile ;\
+ fi ;\
+ docker build -t coredns build/docker/linux/$$arch ;\
docker tag coredns $(DOCKER_IMAGE_NAME):coredns-$$arch ;\
done