如何从Google Cloud Run部署中检索Flask应用的源代码?
从Google Cloud Run镜像中恢复Flask应用代码
步骤1:加载镜像到本地Docker环境
解压image.tar后,用Docker加载镜像:
docker load -i image.tar
执行docker images查看加载后的镜像,记录对应的镜像ID或名称。
步骤2:启动临时容器并定位代码路径
启动临时容器(不影响原有部署):
docker run -d --name temp-recovery <镜像ID/名称> sleep 3600
进入容器内部查找代码位置:
docker exec -it temp-recovery /bin/bash
在容器内用find命令定位main.py:
find / -name "main.py" 2>/dev/null
找到路径后(比如/app/main.py),退出容器。
步骤3:从容器拷贝代码到本地
执行拷贝命令,把容器内的应用目录复制到本地:
docker cp temp-recovery:/app ./flask-app-recovery
替换/app为你找到的实际代码路径,./flask-app-recovery是本地保存目录。
步骤4:清理临时容器
代码拷贝完成后,停止并删除临时容器:
docker stop temp-recovery && docker rm temp-recovery
特殊情况处理:多阶段构建镜像
如果镜像采用多阶段构建(代码仅存在于构建阶段),可以通过镜像历史查看构建步骤:
docker history --no-trunc <镜像ID>
查找包含COPY或ADD的步骤,确认代码被复制到的目标路径,再尝试从对应分层提取内容。
内容的提问来源于stack exchange,提问作者Jandroid
相关产品推荐
相关产品推荐

