diff --git a/Dockerfile b/Dockerfile index d6bf310b3fe50bc2fbb5dcf15cd2a577f0621354..4d8809dd8c83cff07aba01413b9fb3b36ecad00f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,33 +1,18 @@ -FROM centos:latest +FROM golang:latest as BUILDER MAINTAINER TommyLike -FROM library/golang - -# Godep for vendoring -RUN go get github.com/tools/godep - -# Recompile the standard library without CGO -RUN CGO_ENABLED=0 go install -a std - -ENV APP_DIR $GOPATH/src/cve-manager -RUN mkdir -p $APP_DIR - -# Set the entrypoint -ENTRYPOINT (cd $APP_DIR && ./src/cve-manager) -ADD . $APP_DIR - -# Compile the binary and statically link -#RUN cd $APP_DIR && CGO_ENABLED=0 godep go build -ldflags '-d -w -s' -RUN cd $APP_DIR && CGO_ENABLED=1 go build -v -o ./src/cve-manager main.go - -EXPOSE 80 +# build binary +RUN mkdir -p /go/src/gitee.com/openeuler/cve-manager +COPY . /go/src/gitee.com/openeuler/cve-manager +RUN cd /go/src/gitee.com/openeuler/cve-manager && CGO_ENABLED=1 go build -v -o ./cve-manager main.go # copy binary config and utils FROM golang:latest -RUN mkdir -p /opt/cve-manager && mkdir -p /opt/cve-manager/conf && cd $APP_DIR -COPY ./src/cve-manager/conf/product_app.conf /opt/cve-manager/conf/app.conf -COPY ./src/cve-manager/cve-manager /opt/cve-manager +RUN mkdir -p /opt/app/ && mkdir -p /opt/app/conf/ +COPY ./conf/product_app.conf /opt/app/conf/app.conf +# overwrite config yaml +COPY --from=BUILDER /go/src/gitee.com/openeuler/cve-manager/cve-manager /opt/app -WORKDIR /opt/cve-manager/ -ENTRYPOINT ["/opt/cve-manager/cve-manager"] \ No newline at end of file +WORKDIR /opt/app/ +ENTRYPOINT ["/opt/app/cve-manager"] \ No newline at end of file