FROM golang:alpine AS deps WORKDIR /app COPY go.mod go.sum ./ RUN sed -i '/replace/d' go.mod RUN go mod download #---------------------------------------------------------------------------------------------- FROM golang:alpine AS builder WORKDIR /app RUN apk add git RUN go install github.com/beego/bee/v2@latest WORKDIR /oc-discovery COPY --from=deps /go/pkg /go/pkg COPY --from=deps /app/go.mod /app/go.sum ./ RUN export CGO_ENABLED=0 && \ export GOOS=linux && \ export GOARCH=amd64 && \ export BUILD_FLAGS="-ldflags='-w -s'" COPY . . RUN sed -i '/replace/d' go.mod RUN bee pack RUN mkdir -p /app/extracted && tar -zxvf oc-discovery.tar.gz -C /app/extracted #RUN sed -i 's/http:\/\/127.0.0.1:8080\/swagger\/swagger.json/swagger.json/g' /app/extracted/swagger/index.html #---------------------------------------------------------------------------------------------- FROM golang:alpine WORKDIR /app COPY --from=builder /app/extracted/oc-discovery /usr/bin/ #COPY --from=builder /app/extracted/swagger /app/swagger COPY --from=builder /app/extracted/docker_discovery.json /etc/oc/discovery.json EXPOSE 8080 ENTRYPOINT ["oc-discovery"]