网站从Heroku迁移至Fly.io部署时遇镜像拉取失败问题求助
问题解决方法
错误原因
你遇到的错误是因为部署过程中尝试拉取的基础镜像 quay.io/evl.ms/fullstaq-ruby:2.6.1-jemalloc-slim 不存在——大概率是该版本过旧被镜像仓库移除,或是镜像路径发生了变更。
解决步骤
- 检查并修改项目中的Dockerfile:你的fly.toml配置使用了自定义构建命令,说明项目根目录下存在Dockerfile。找到其中以
FROM开头的行,替换成可用的Fullstaq Ruby镜像版本。- 建议选择仍在维护的Ruby版本对应的镜像,比如:
或FROM quay.io/evl.ms/fullstaq-ruby:2.7.8-jemalloc-slimFROM quay.io/evl.ms/fullstaq-ruby:3.0.6-jemalloc-slim
- 建议选择仍在维护的Ruby版本对应的镜像,比如:
- 确认Ruby版本兼容性:如果升级Ruby版本,需确保你的Rails应用代码兼容该版本,必要时调整Gemfile中的Ruby版本声明。
- 重新执行部署:修改完成后,再次运行
fly deploy命令即可。
补充说明
Fullstaq Ruby的旧版本(如2.6.x系列)可能已停止维护,对应的镜像会被仓库清理。选择较新的稳定版本不仅能解决当前问题,还能获得更好的性能与安全性。
内容的提问来源于stack exchange,提问作者nourza
相关产品推荐
相关产品推荐

