There is a .conf file in Beego (Golang framework), it is used for declare variable for whole app. Beego support beego.AppConfig.String(key) to get a value in anywhere. I use it on local machine (not in docker) normally. But when I build on docker multi-stage, that file can not be used (got empty value when printed)
I use docker 18.03 on MacOS
conf/app.conf
MysqlHost = 127.0.0.1
MysqlPort = 3306
setting.go
MysqlHost = beego.AppConfig.String("MysqlHost")
But I got empty when print it
This is my Dockerfile
FROM golang:1.11-alpine AS build_base
RUN apk add bash ca-certificates git gcc g++ libc-dev
RUN mkdir /bus_serivce
WORKDIR /bus_service
ENV GO111MODULE=on
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o /go/bin/bus_serivce
FROM alpine
RUN apk add ca-certificates
COPY --from=build_base /go/bin/bus_serivce /bus_serivce
ENTRYPOINT ["/bus_serivce"]
After docker build and run, everything works find but I can not get the value in .conf file like I did in local machine (not in docker) Can anyone help me. Thanks a lot