2a6325e3 |
ARG GO_VERSION=1.13.15 |
7eb804c9 |
ARG BUILDX_COMMIT=v0.3.1 |
833444c0 |
ARG BUILDX_REPO=https://github.com/docker/buildx.git |
37fe68f5 |
|
671459a9 |
FROM golang:${GO_VERSION}-buster AS build |
37fe68f5 |
ARG BUILDX_REPO |
833444c0 |
RUN git clone "${BUILDX_REPO}" /buildx
WORKDIR /buildx |
37fe68f5 |
ARG BUILDX_COMMIT |
833444c0 |
RUN git fetch origin "${BUILDX_COMMIT}":build && git checkout build
ARG GOOS
ARG GOARCH
# Keep these essentially no-op var settings for debug purposes.
# It allows us to see what the GOOS/GOARCH that's being built for is. |
ce28a91c |
RUN GOOS="${GOOS}" GOARCH="${GOARCH}" BUILDX_COMMIT="${BUILDX_COMMIT}"; \
pkg="github.com/docker/buildx"; \
ldflags="\
-X \"${pkg}/version.Version=$(git describe --tags)\" \
-X \"${pkg}/version.Revision=$(git rev-parse --short HEAD)\" \
-X \"${pkg}/version.Package=buildx\" \
"; \ |
6168b875 |
go build -mod=vendor -ldflags "${ldflags}" -o /usr/bin/buildx ./cmd/buildx |
b6ae3c20 |
|
671459a9 |
FROM golang:${GO_VERSION}-buster |
b6ae3c20 |
COPY --from=build /usr/bin/buildx /usr/bin/buildx |
ce28a91c |
ENTRYPOINT ["/usr/bin/buildx"] |