我開始使用 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 代碼部分給我?guī)砹藛栴}: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)}當(dāng)我運行時,這運行良好go install && my-app當(dāng)我嘗試在 Docker 容器中運行它時,我收到以下錯誤消息。初始化應(yīng)用程序時出錯:需要項目 ID 才能訪問 Firestore這一定意味著該my-app-firebase-adminsdk.json文件未包含在 Docker 容器中。我該如何解決這個問題?我嘗試COPY my-app-firebase-adminsdk.json .在該COPY go.* ./行下添加,但沒有幫助,最終遇到了同樣的問題。
1 回答

倚天杖
TA貢獻1828條經(jīng)驗 獲得超3個贊
事實證明我不必那么復(fù)雜。當(dāng)我使用Dockerfile如下簡單的方法時,它起作用了:
FROM golang:alpine
RUN mkdir /app
ADD . /app
WORKDIR /app
RUN go build -o main .
CMD ["/app/main"]
- 1 回答
- 0 關(guān)注
- 117 瀏覽
添加回答
舉報
0/150
提交
取消