Fly.io部署Node.js后端遇构建错误求助(含Docker配置)
Fly.io部署Node.js后端EOF错误的解决办法
问题背景
本地WSL2中Docker构建并运行Node.js后端正常,但执行flyctl launch时持续报错:
Error failed to fetch an image or build from source: error building: error during connect: Post "http://[a very long URL]": EOF
已调整fly.toml的internal_port为5000,问题依旧,怀疑网络连接超时导致。
解决步骤
手动构建并推送镜像至Fly仓库
绕开Fly远程构建,用本地Docker完成构建后直接推送:- 登录Fly容器注册表:
flyctl auth docker - 在backend目录下构建镜像(替换
[你的应用名]为launch时设置的应用名称):docker build -t registry.fly.io/[你的应用名]:latest . - 推送镜像:
docker push registry.fly.io/[你的应用名]:latest - 部署应用:
flyctl deploy --image registry.fly.io/[你的应用名]:latest
- 登录Fly容器注册表:
延长构建超时时间
在fly.toml中添加构建超时配置,适配慢网络:[build] timeout = 1200 # 设置为20分钟,可根据实际情况调整修复WSL2网络问题
- 重启WSL2:
wsl --shutdown,重新打开WSL终端后重试 - 关闭本地全局代理(如果启用),避免代理干扰与Fly服务的连接
- 重启WSL2:
启用本地构建模式
执行launch时强制本地构建:flyctl launch --local-only,镜像构建完成后直接上传至Fly更新flyctl到最新版本
旧版本可能存在网络兼容问题,执行更新:flyctl version update
内容的提问来源于stack exchange,提问作者Kitty
相关产品推荐
相关产品推荐

