X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Dockerfile;h=c61aded4d3f1e4c5b29d31a51693dc413d71c7b1;hb=HEAD;hp=9c8a43fc5bc6a8d0f09305681c6c32c6c4e9fa1e;hpb=364295fa6c8aa7b0aec4efe8ae8ce8241d03966c;p=ric-plt%2Fvespamgr.git diff --git a/Dockerfile b/Dockerfile old mode 100644 new mode 100755 index 9c8a43f..c61aded --- a/Dockerfile +++ b/Dockerfile @@ -13,9 +13,15 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# +# This source code is part of the near-RT RIC (RAN Intelligent Controller) +# platform project (RICP). +# -# Start from golang v1.12 base image -FROM golang:1.12 as gobuild +FROM golang:1.16 as gobuild + +# Install utilities +RUN apt update && apt install -y iputils-ping net-tools curl sudo # Set the Working Directory for ves-agent inside the container RUN mkdir -p $GOPATH/src/VESPA @@ -25,37 +31,39 @@ WORKDIR $GOPATH/src/VESPA RUN git clone -b v0.3.0 https://github.com/nokia/ONAP-VESPA.git $GOPATH/src/VESPA RUN GO111MODULE=on go mod download +ENV GOLANG_VERSION 1.16 +RUN wget --quiet https://dl.google.com/go/go$GOLANG_VERSION.linux-amd64.tar.gz \ + && tar xvzf go$GOLANG_VERSION.linux-amd64.tar.gz -C /usr/local # Install VES Agent RUN export GOPATH=$HOME/go && \ export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \ go install -v ./ves-agent -# Set the Working Directory for vesmgr inside the container -RUN mkdir -p $GOPATH/src/vesmgr -WORKDIR $GOPATH/src/vesmgr - -# Copy vesmgr to the Working Directory -COPY $HOME/ . +# Set the Working Directory for vespamgr inside the container +RUN mkdir -p /go/src/vespamgr +RUN mkdir -p /cfg +COPY . /go/src/vespamgr +WORKDIR /go/src/vespamgr RUN ./build_vesmgr.sh -################# -# -# Second phase, copy compiled stuff to a runtime container - -# Ubuntu or something smaller? -FROM ubuntu:18.04 -# For trouble-shooting -RUN apt-get update; apt-get install -y \ - iputils-ping \ - net-tools \ - curl +# Final, executable and deployable container +FROM ubuntu:20.04 -# Create the configuration directory for ves agent RUN mkdir -p /etc/ves-agent -COPY --from=gobuild root/go/bin /root/go/bin + +COPY --from=gobuild /usr/local/lib /usr/local/lib +COPY --from=gobuild /root/go/bin /root/go/bin +COPY --from=gobuild /root/go/bin/vespamgr /usr/local/bin/vesmgr +COPY --from=gobuild /root/go/bin/vespamgr /vespamgr +COPY --from=gobuild /go/src/vespamgr/config/* /cfg/ +COPY --from=gobuild /go/src/vespamgr/config/plt-counter.json /cfg/plt-counter.json +RUN ldconfig + +ENV CFG_FILE=/cfg/config-file.json +ENV RMR_SEED_RT=/cfg/uta_rtg.rt ENV PATH="/root/go/bin:${PATH}" -ENTRYPOINT ["vesmgr"] +ENTRYPOINT ["/vespamgr"]