我的Go项目heriarchy是这样的:
主要功能:
func main() {
path, _ := os.Getwd()
err := godotenv.Load(filepath.Join(path, ".env"))
if err != nil {
log.Fatal("Error loading .env file")
}
server.Init()
}
这是我的文件内容:docker
FROM golang:alpine AS build-env
LABEL MAINTAINER "Amit Pal <amit.pal@fynchmobility.com>"
ENV GOPATH /go
WORKDIR /go/src
COPY . /go/src/gothamcity
RUN cd /go/src/gothamcity && go build .
FROM alpine
RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk*
WORKDIR /app
COPY --from=build-env /go/src/gothamcity/gothamcity /app
EXPOSE 8080
ENTRYPOINT [ "./gothamcity" ]
我运行以下命令来构建并运行 docker 映像:
docker build -t gcr.io/${PROJECT_ID}/gothamcity:v1.0 .
docker run -ti gcr.io/miles-ee458/gothamcity:v1.0
我得到错误:
2021/01/28 14:34:46 Error loading .env file
我在这里做错了什么?如何将 .env 文件传递给 docker 映像并执行它?
另外,不是将整个项目复制到 Docker 映像吗?COPY . /go/src/gothamcity
犯罪嫌疑人X
相关分类