在 Docker 镜像中从 Terraform 运行 GOLANG

我的理解是 Terraform Docker 映像来自 Go (Golang) 基础映像。我正在尝试使用 Terraform 图像作为基础来构建自己的图像,因此我可以在运行 Terraform 之前运行一些自定义 Go 命令。但是,当我尝试运行 Go 时,找不到它。


FROM hashicorp/terraform:1.1.3


WORKDIR /app


COPY go.mod ./

COPY go.sum ./

COPY someotherterraformfiles.tf ./


RUN echo $(ls)


RUN go mod download

错误日志...


Step 5/6 : RUN echo $(ls)

 ---> Running in a4333944d871

go.mod go.sum

Removing intermediate container a4333944d871

 ---> 173d8ba93215

Step 6/6 : RUN go mod download

 ---> Running in 4943df7818c2

/bin/sh: go: not found

The command '/bin/sh -c go mod download' returned a non-zero code: 127

如何让我的go命令起作用?


慕少森
浏览 94回答 1
1回答

肥皂起泡泡

你的基础镜像hashicorp/terraform:1.1.3是在 Alpine Linux 上构建的,没有安装 Go。解决方案是在使用 Go 之前安装它。这可以通过添加RUN apk add go到上面使用goCLI 工具的行来完成。FROM hashicorp/terraform:1.1.3RUN apk add goWORKDIR /appCOPY go.mod ./COPY go.sum ./COPY someotherterraformfiles.tf ./RUN echo $(ls)RUN go mod download
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go