diff --git a/Dockerfile b/Dockerfile index 1587ed68b..88b5fe175 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,29 +3,24 @@ FROM golang:alpine as builder ENV PATH /go/bin:/usr/local/go/bin:$PATH ENV GOPATH /go -RUN apk add --no-cache \ - ca-certificates +RUN apk add --no-cache \ + ca-certificates \ + --virtual .build-deps \ + git \ + gcc \ + libc-dev \ + libgcc \ + make COPY . /go/src/github.com/virtual-kubelet/virtual-kubelet +WORKDIR /go/src/github.com/virtual-kubelet/virtual-kubelet +ARG BUILD_TAGS="netgo osusergo" +RUN make VK_BUILD_TAGS="${BUILD_TAGS}" build +RUN cp bin/virtual-kubelet /usr/bin/virtual-kubelet -RUN set -x \ - && apk add --no-cache --virtual .build-deps \ - git \ - gcc \ - libc-dev \ - libgcc \ - make \ - && cd /go/src/github.com/virtual-kubelet/virtual-kubelet \ - && make build \ - && apk del .build-deps \ - && cp bin/virtual-kubelet /usr/bin/virtual-kubelet \ - && rm -rf /go \ - && echo "Build complete." FROM scratch - COPY --from=builder /usr/bin/virtual-kubelet /usr/bin/virtual-kubelet COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs - ENTRYPOINT [ "/usr/bin/virtual-kubelet" ] CMD [ "--help" ] diff --git a/Makefile b/Makefile index f191ab894..fb03c953f 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ DOCKER_IMAGE := virtual-kubelet exec := $(DOCKER_IMAGE) github_repo := virtual-kubelet/virtual-kubelet binary := virtual-kubelet +build_tags := "netgo osusergo $(VK_BUILD_TAGS)" # comment this line out for quieter things #V := 1 # When V is set, print commands and build progress. @@ -17,12 +18,12 @@ all: test build # safebuild builds inside a docker container with no clingons from your $GOPATH safebuild: @echo "Building..." - $Q docker build -t $(DOCKER_IMAGE):$(VERSION) . + $Q docker build --build-arg BUILD_TAGS=$(build_tags) -t $(DOCKER_IMAGE):$(VERSION) . .PHONY: build build: authors @echo "Building..." - $Q CGO_ENABLED=0 go build -a -tags netgo -ldflags '-extldflags "-static"' -o bin/$(binary) $(if $V,-v) $(VERSION_FLAGS) $(IMPORT_PATH) + $Q CGO_ENABLED=0 go build -a --tags $(build_tags) -ldflags '-extldflags "-static"' -o bin/$(binary) $(if $V,-v) $(VERSION_FLAGS) $(IMPORT_PATH) .PHONY: tags tags: @@ -52,7 +53,7 @@ deps: setup docker: @echo "Docker Build..." - $Q docker build -t $(DOCKER_IMAGE) . + $Q docker build --build-arg BUILD_TAGS="$(VK_BUILD_TAGS)" -t $(DOCKER_IMAGE) . clean: @echo "Clean..."