blob: 196f2566cd10c8ce980bb9a2e282cf1461cfeb5d [file] [log] [blame]
Tommy Carpenter78ba2732020-02-07 14:06:20 -05001# ==================================================================================
2# Copyright (c) 2020 Nokia
3# Copyright (c) 2020 AT&T Intellectual Property.
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
18# This Dockerfile uses a two stage Docker build
Lott, Christopher (cl778h)d26734f2020-04-27 17:25:05 -040019FROM nexus3.o-ran-sc.org:10004/o-ran-sc/bldr-alpine3:12-a3.11
20
21# copy rmr headers and libraries from builder image in lieu of an Alpine package
Lott, Christopher (cl778h)9f30fc12020-05-26 13:31:48 -040022COPY --from=nexus3.o-ran-sc.org:10002/o-ran-sc/bldr-alpine3-rmr:4.0.5 /usr/local/include/rmr /usr/local/include/rmr
23COPY --from=nexus3.o-ran-sc.org:10002/o-ran-sc/bldr-alpine3-rmr:4.0.5 /usr/local/lib64/librmr* /usr/local/lib64/
Tommy Carpenter78ba2732020-02-07 14:06:20 -050024
25# go will complain if there is a go.mod at the root of the GOPATH so we can't.
26RUN mkdir myxapp
27COPY receiver.go myxapp/receiver.go
28COPY go.mod myxapp/go.mod
29
30# do the build
31WORKDIR myxapp
32ENV GO111MODULE on
33ENV GO_ENABLED 0
34ENV GOOS linux
35RUN go build -a -installsuffix cgo -o receiver receiver.go
36
37# 2nd stage
38FROM alpine:3.11
Lott, Christopher (cl778h)f7ddd992020-04-22 09:05:32 -040039
Lott, Christopher (cl778h)d26734f2020-04-27 17:25:05 -040040# copy rmr libraries from builder image in lieu of an Alpine package
Lott, Christopher (cl778h)9f30fc12020-05-26 13:31:48 -040041COPY --from=nexus3.o-ran-sc.org:10002/o-ran-sc/bldr-alpine3-rmr:4.0.5 /usr/local/lib64/librmr* /usr/local/lib64/
Lott, Christopher (cl778h)f7ddd992020-04-22 09:05:32 -040042
Lott, Christopher (cl778h)9640e5b2020-04-22 10:54:20 -040043COPY --from=0 /myxapp/receiver .
Tommy Carpenter78ba2732020-02-07 14:06:20 -050044COPY test-config-file.yaml .
45
46# rmr setup
47RUN mkdir -p /opt/route/
48ENV LD_LIBRARY_PATH /usr/local/lib:/usr/local/lib64
49ENV RMR_SEED_RT /opt/route/local.rt
50
51CMD ["./receiver", "-f", "test-config-file.yaml"]