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 回答4f系统的像差计算
    • ¥15 java如何提取出pdf里的文字?
    • ¥100 求三轴之间相互配合画圆以及直线的算法
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 自己瞎改改,结果现在又运行不了了