Update example-xapp
[ric-plt/xapp-frame.git] / examples / build / Dockerfile
1 #==================================================================================
2 #   Copyright (c) 2020 AT&T Intellectual Property.
3 #   Copyright (c) 2020 Nokia
4 #
5 #   Licensed under the Apache License, Version 2.0 (the "License");
6 #   you may not use this file except in compliance with the License.
7 #   You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #   Unless required by applicable law or agreed to in writing, software
12 #   distributed under the License is distributed on an "AS IS" BASIS,
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #   See the License for the specific language governing permissions and
15 #   limitations under the License.
16 #
17 #   This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 #   platform project (RICP).
19 #==================================================================================
20
21 FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu18-c-go:4-u18.04-nng as ubuntu-example-xapp
22
23 # Install utilities
24 RUN apt update && apt install -y iputils-ping net-tools curl sudo
25
26 # Install RMr shared library & development header files
27 RUN wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_3.5.0_amd64.deb/download.deb && dpkg -i rmr_3.5.0_amd64.deb && rm -rf rmr_3.5.0_amd64.deb
28 RUN wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_3.5.0_amd64.deb/download.deb && dpkg -i rmr-dev_3.5.0_amd64.deb && rm -rf rmr-dev_3.5.0_amd64.deb
29
30 # Install dependencies, compile and test the module
31 RUN mkdir -p /go/src/example-xapp
32 COPY . /go/src/example-xapp
33
34 WORKDIR "/go/src/example-xapp"
35 #RUN ./build/build_example_xapp.sh
36
37 ENV CFG_FILE=config/config-file.json
38 ENV RMR_SEED_RT=config/uta_rtg.rt
39 ENV GO111MODULE=on GO_ENABLED=0 GOOS=linux
40
41 RUN go build -a -installsuffix cgo -o example_xapp cmd/example-xapp.go
42
43 # Final, executable and deployable container
44 FROM ubuntu:18.04
45
46 COPY --from=ubuntu-example-xapp /go/src/example-xapp/build/run_example_xapp.sh /
47 COPY --from=ubuntu-example-xapp /go/src/example-xapp/example_xapp /
48 COPY --from=ubuntu-example-xapp /go/src/example-xapp/config/* /
49 COPY --from=ubuntu-example-xapp /usr/local/lib /usr/local/lib
50
51 RUN ldconfig
52
53 RUN chmod 755 /run_example_xapp.sh
54 CMD /run_example_xapp.sh