drvvvuyia15070493 2019-04-12 06:40
浏览 151

docker多阶段构建时无法在golang beego框架中使用.conf

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

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
    • ¥20 Python安装cvxpy库出问题
    • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
    • ¥15 python天天向上类似问题,但没有清零
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 C#调用python代码(python带有库)
    • ¥15 活动选择题。最多可以参加几个项目?
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题