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

时间:2019-04-12 06:40:30

标签: docker go beego docker-multi-stage-build

在Beego(Golang框架)中有一个.conf文件,用于整个应用程序的声明变量。 Beego支持beego.AppConfig.String(key)在任何地方获取值。我通常在本地计算机上使用它(不在docker中)。但是当我在docker多阶段构建时,该文件无法使用(打印时得到空值)

我在MacOS上使用docker 18.03

conf / app.conf

MysqlHost = 127.0.0.1
MysqlPort = 3306

setting.go

MysqlHost      = beego.AppConfig.String("MysqlHost")

但是打印时我就没了

这是我的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"]

在docker构建并运行后,一切正常,但是我无法像在本地计算机中那样在.conf文件中获取值(不是在docker中) 谁能帮我。 非常感谢

0 个答案:

没有答案