From 02ca1c85735291d8a6c99da75501b389b7249751 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 18 Jan 2018 12:53:22 -0500 Subject: [PATCH] Add dockerfile for building on non-amd64 platforms Signed-off-by: Daniel Nephin --- docker.Makefile | 11 +++++++++-- dockerfiles/Dockerfile.binary-native | 8 ++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 dockerfiles/Dockerfile.binary-native diff --git a/docker.Makefile b/docker.Makefile index a881593dda..a94b81a81d 100644 --- a/docker.Makefile +++ b/docker.Makefile @@ -5,6 +5,7 @@ # DEV_DOCKER_IMAGE_NAME = docker-cli-dev$(IMAGE_TAG) +BINARY_NATIVE_IMAGE_NAME = docker-cli-native$(IMAGE_TAG) LINTER_IMAGE_NAME = docker-cli-lint$(IMAGE_TAG) CROSS_IMAGE_NAME = docker-cli-cross$(IMAGE_TAG) VALIDATE_IMAGE_NAME = docker-cli-shell-validate$(IMAGE_TAG) @@ -30,12 +31,18 @@ build_cross_image: build_shell_validate_image: docker build -t $(VALIDATE_IMAGE_NAME) -f ./dockerfiles/Dockerfile.shellcheck . +.PHONY: build_binary_native_image +build_binary_native_image: + docker build -t $(BINARY_NATIVE_IMAGE_NAME) -f ./dockerfiles/Dockerfile.binary-native . + + # build executable using a container -binary: build_docker_image - docker run --rm $(ENVVARS) $(MOUNTS) $(DEV_DOCKER_IMAGE_NAME) make binary +binary: build_binary_native_image + docker run --rm $(ENVVARS) $(MOUNTS) $(BINARY_NATIVE_IMAGE_NAME) build: binary + # clean build artifacts using a container .PHONY: clean clean: build_docker_image diff --git a/dockerfiles/Dockerfile.binary-native b/dockerfiles/Dockerfile.binary-native new file mode 100644 index 0000000000..e130e8240e --- /dev/null +++ b/dockerfiles/Dockerfile.binary-native @@ -0,0 +1,8 @@ +FROM golang:1.9.2-alpine3.6 + +RUN apk add -U git bash coreutils gcc musl-dev + +ENV CGO_ENABLED=0 \ + DISABLE_WARN_OUTSIDE_CONTAINER=1 +WORKDIR /go/src/github.com/docker/cli +CMD ./scripts/build/binary