我正在尝试使用以下 Dockerfile 创建一个 docker 映像。
` 来自 golang:最新 工作目录/应用程序 ENV GOPROXY=https://proxy.golang.org ENV GOPROXY=直接 复制 go.mod 。 复制 go.sum 。 RUN go 模组下载 复制 。 。 运行 go build -o ./out/dist .
``
我能够在本地计算机上构建 go 可执行文件。但是当我运行“docker build -t app .”命令时。运行“go mod download”命令时卡住了。
我等了一个多小时。每次下载 filippo.io/edwards255919 文件时都会卡住。
我尝试过设置 GOPROXY 并更改 go 版本。不幸的是它不起作用。 我的电脑上没有任何代理。
如何构建 docker 容器而不被卡住。
我建议,
尝试首先将
,direct
后缀添加到您的 GOPROXY
环境变量并构建。
然后,将
GOPROXY
修改为 https://goproxy.io,direct
并构建。
如果它们都不起作用,请尝试
go mod vendor
将所有依赖项下载到项目根目录并将它们复制到构建器映像中。在 Dockerfile 中为 -mod=vendor
命令添加标志 go build
,以强制从现有供应商加载依赖项。