我开始使用 Docker,我有一个简单的图像,我想在其中运行 Go 脚本。这是图像:FROM golang:alpineENV GO111MODULE=on \ CGO_ENABLED=0 \ GOOS=linux \ GOARCH=amd64WORKDIR /buildCOPY go.* ./RUN go mod downloadCOPY . ./RUN go build -o main .WORKDIR /distRUN 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.* ./行下添加,但没有帮助,最终遇到了同样的问题。
1 回答
倚天杖
TA贡献1828条经验 获得超3个赞
事实证明我不必那么复杂。当我使用Dockerfile如下简单的方法时,它起作用了:
FROM golang:alpine
RUN mkdir /app
ADD . /app
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消