FROM golang # Install libraries RUN go get \ github.com/docker/distribution/reference \ github.com/docker/go-units \ github.com/gogo/protobuf/proto \ github.com/opencontainers/go-digest \ github.com/opencontainers/image-spec/specs-go/v1 \ github.com/pkg/errors \ golang.org/x/net/context/ctxhttp \ golang.org/x/net/proxy \ github.com/docker/docker/api/types \ github.com/docker/docker/api/types/container \ github.com/docker/docker/api/types/network \ github.com/docker/docker/client \ github.com/docker/go-connections/nat \ github.com/gorilla/mux \ github.com/sirupsen/logrus \ google.golang.org/grpc/codes \ google.golang.org/grpc/status \ github.com/containerd/containerd/errdefs # Vendor cleanup - thanks golang. # see: https://github.com/moby/moby/issues/28269 RUN rm -rf \ $GOPATH/src/github.com/docker/docker/vendor \ $GOPATH/src/github.com/docker/distribution/vendor # Create workdir RUN mkdir /workdir WORKDIR /workdir # Copy our sources COPY src /workdir/src COPY hosted /workdir/hosted # and build them RUN go build -o /workdir/companion src/*.go ENTRYPOINT [ "/workdir/companion" ]