构建load-watcher Docker镜像时遇Go依赖下载超时错误求助
解决Docker构建时Go依赖下载DNS超时问题
针对你构建paypal/load-watcher镜像时遇到的github.com/francoispqt/gojay@v1.2.13依赖下载DNS超时问题,可尝试以下几种方案:
方案1:替换Go模块代理为国内镜像
直接在构建时指定国内Go代理,绕过官方代理的访问问题:
- 执行构建命令时添加build参数:
sudo docker build --build-arg GOPROXY=https://mirrors.aliyun.com/goproxy/ -t load-watcher . - 或者修改项目的Dockerfile,在
RUN make build前添加环境变量配置:ENV GOPROXY=https://mirrors.aliyun.com/goproxy/,direct RUN make build
方案2:本地预下载依赖后再构建
先在本地完成依赖下载,再将依赖信息拷贝到镜像中避免构建时重复下载:
- 本地进入项目目录,设置国内代理后下载依赖:
export GOPROXY=https://mirrors.aliyun.com/goproxy/ go mod download - 修改Dockerfile,添加拷贝依赖文件并预下载的步骤:
COPY go.mod go.sum ./ RUN go mod download RUN make build - 重新执行构建命令:
sudo docker build -t load-watcher .
方案3:调整Docker的DNS配置
如果是Docker容器的DNS解析问题,可修改Docker daemon的DNS设置:
- 编辑Docker配置文件(如不存在则创建):
sudo vi /etc/docker/daemon.json - 添加DNS服务器配置:
{ "dns": ["8.8.8.8", "114.114.114.114"] } - 重启Docker服务:
sudo systemctl restart docker - 重新执行构建命令尝试。
内容的提问来源于stack exchange,提问作者ghost44
相关产品推荐
相关产品推荐

