ARG WINDOWS_VERSION=1809 # Build the manager binary FROM golang:1.17 as builder # GOLANG env ARG GOPROXY="https://proxy.golang.org|direct" ARG GO111MODULE="on" ARG CGO_ENABLED=0 ARG GOOS=windows ARG GOARCH=amd64 # Copy go.mod and download dependencies WORKDIR /amazon-ec2-metadata-mock COPY go.mod . COPY go.sum . RUN go mod download # Build COPY . . RUN go build -a -tags aemm-windows -o ./build/ec2-metadata-mock.exe ./cmd/amazon-ec2-metadata-mock.go # In case the target is build for testing: # $ docker build --target=builder -t test . ENTRYPOINT ["/amazon-ec2-metadata-mock/build/ec2-metadata-mock.exe"] # Copy the controller-manager into a thin image FROM mcr.microsoft.com/windows/nanoserver:${WINDOWS_VERSION} WORKDIR / COPY --from=builder /amazon-ec2-metadata-mock/build/ec2-metadata-mock.exe . COPY THIRD_PARTY_LICENSES.md . ENTRYPOINT ["/ec2-metadata-mock.exe"]