firebase - 需要Docker Firestore项目ID

标签 firebase docker go google-cloud-firestore firebase-admin

我开始使用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容器中运行它时,出现以下错误消息。

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

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

我该如何解决?

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

最佳答案

事实证明,我不必很复杂。当我使用一个简单的Dockerfile时,它起作用了,如下所示:

FROM golang:alpine

RUN mkdir /app

ADD . /app

WORKDIR /app

RUN go build -o main .

CMD ["/app/main"]

关于firebase - 需要Docker Firestore项目ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61915561/

相关文章:

ruby-on-rails - 使用 docker 的服务发现和守护进程

使用 sudo 时无法识别 docker compose

java - Java使用的内存多于堆大小(或正确大小的Docker内存限制)

Golang Gorm 动态目标结构

java - 如何在此读取方法 firebase 中更改我的值

ios - children count 总是返回0 ,无法正确到达

swift - 等待某个任务完全完成后再执行另一个任务

tcp - Golang 1.5 io.Copy 用两个 TCPConn 阻塞

GO-Github API : How To Commit and Push to a remote branch

firebase - 使用 Geofire + Firebase 过滤结果