如何将大文件复制到AWS Lambda?Docker部署文件缺失问题
解决Lambda Docker镜像中模型文件丢失的问题
问题根源
Lambda的/tmp是临时存储目录,每次函数启动时会被完全清空,所以Docker构建阶段复制到/tmp的文件会被覆盖,这就是你看不到model.h5的原因。
正确解决方案
修改Dockerfile,将模型复制到持久化目录
Lambda容器的/opt目录是运行时保留的持久化路径,不会被启动流程清空,把COPY目标路径改成这里:COPY models/model.h5 /opt/weights/model.h5注:如果
/opt/weights目录不存在,Docker的COPY命令会自动创建,无需额外执行RUN mkdir -p(除非需要设置特殊权限)。调整Lambda代码中的文件路径
在函数代码里,读取模型时要指向/opt/weights/model.h5,替换原来的/tmp/weights/model.h5路径。验证镜像构建完整性
本地构建镜像后,可通过docker run进入容器检查/opt/weights下是否存在模型文件,确保构建上下文包含models/model.h5文件(比如Dockerfile所在目录要有models子目录,或构建时指定正确的上下文路径)。
内容的提问来源于stack exchange,提问作者Amit Duwal
相关产品推荐
相关产品推荐

