You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Dockerfile部署到Fly.io后代码未更新的排查求助

解决Fly.io monorepo部署代码不更新问题

实操修复步骤

  • 检查Dockerfile的COPY指令:确认所有新增/修改的文件所在目录都被正确包含在构建上下文里。monorepo场景下容易出现只复制部分子目录、遗漏变更文件的情况。
  • 强制无缓存构建并打破层缓存:执行以下命令,通过唯一构建参数强制重新执行所有构建步骤:
    fly deploy --local-only --no-cache --build-arg BUILD_TIMESTAMP=$(date +%s)
    
    同时在Dockerfile开头添加ARG BUILD_TIMESTAMP,确保缓存层完全失效。
  • 验证本地镜像内容:构建完成后,手动启动镜像检查文件是否更新:
    docker run --rm -it <镜像ID> sh
    
    进入容器后直接查看目标文件,若本地镜像无更新,问题出在Docker构建环节,与Fly.io无关。
  • 核对镜像ID:执行fly images list查看Fly.io当前部署的镜像ID,和本地构建的镜像ID对比,确认新镜像是否成功推送并被选中部署。
  • 强制重启应用:若镜像已更新但容器未生效,执行fly apps restart <应用名>强制重启所有实例。

协助排查需提供的信息

  • Dockerfile完整内容(隐去敏感信息如密钥、私有镜像地址)
  • fly deploy命令的完整输出日志(包含构建、推送、部署全流程)
  • fly images list的输出结果
  • 变更文件的具体路径,以及Dockerfile中对应COPY指令的内容
  • monorepo的目录结构(如根目录子包分布、Dockerfile所在位置)

内容的提问来源于stack exchange,提问作者Oleg Gulevskyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:45:00