需要 Docker Firestore 项目 ID

我开始使用 Docker,我有一个简单的图像,我想在其中运行 Go 脚本。


这是图像:


FROM golang:alpine


ENV GO111MODULE=on \

  CGO_ENABLED=0 \

  GOOS=linux \

  GOARCH=amd64


WORKDIR /build


COPY go.* ./

RUN go mod download


COPY . ./


RUN go build -o main .


WORKDIR /dist


RUN cp /build/main .


CMD ["/dist/main"]

我的 Go 代码部分给我带来了问题:


opt := option.WithCredentialsFile("my-app-firebase-adminsdk.json")

app, err := firebase.NewApp(context.Background(), nil, opt)


client, err := app.Firestore(context.Background())


if err != nil {

    log.Fatalln("error initializing app:", err)

}

当我运行时,这运行良好go install && my-app


当我尝试在 Docker 容器中运行它时,我收到以下错误消息。


初始化应用程序时出错:需要项目 ID 才能访问 Firestore


这一定意味着该my-app-firebase-adminsdk.json文件未包含在 Docker 容器中。


我该如何解决这个问题?


我尝试COPY my-app-firebase-adminsdk.json .在该COPY go.* ./行下添加,但没有帮助,最终遇到了同样的问题。


富国沪深
浏览 106回答 1
1回答

倚天杖

事实证明我不必那么复杂。当我使用Dockerfile如下简单的方法时,它起作用了:FROM golang:alpineRUN mkdir /appADD . /appWORKDIR /appRUN go build -o main .CMD ["/app/main"]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go