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

Oracle Cloud使用Cloud Shell部署Python函数遇部署错误求助

问题分析与解决方案

一、首要修正:Runtime选型错误

你目标是创建Python函数,但初始化时误用了--runtime java参数,导致生成的是Java项目结构与Dockerfile,完全不符合需求。先重新初始化正确的Python项目:

# 返回上级目录并删除错误的Java项目
cd ..
rm -rf hello-test-python
# 用Python Runtime初始化项目
fn init --runtime python hello-test-python
cd hello-test-python

二、Docker构建错误(exit status 125)排查与修复

exit status 125属于Docker命令执行失败,结合你的Cloud Shell环境,按以下步骤逐一排查:

1. 验证Docker基础功能

先确认Docker服务是否正常运行:

# 测试Docker基础连接
docker run --rm hello-world
# 手动拉取Python FDK镜像,验证网络与权限
docker pull fnproject/fn-python-fdk:latest

如果hello-world运行失败,直接重启Cloud Shell(关闭后重新打开);如果镜像拉取失败,检查OCIR登录状态或网络连通性。

2. 修正架构配置冲突

你的输出显示TargetedPlatform: amd64_arm64HostPlatform: amd64,架构配置存在冲突,执行命令强制指定amd64架构:

fn update context fn.platform amd64

3. 手动执行Docker构建,获取详细错误日志

跳过fn工具,直接用Docker命令构建,能得到更具体的报错信息:

# 替换为你的实际registry地址
docker build -t **********/func-python/hello-test-python:0.0.2 .

根据输出的日志定位问题,比如镜像拉取失败、依赖安装错误等,针对性处理。

4. 确认Fn上下文配置正确性

检查compartment ID与registry地址是否有误:

fn list context
fn get context eu-marseille-1

确保oracle.compartment-id格式正确,registry地址符合region.ocir.io/租户命名空间/仓库名的规范。

三、重新执行部署

完成以上修正后,重新运行部署命令:

fn -v deploy --app DBDB_IO_Refresher

内容的提问来源于stack exchange,提问作者Pierre-AntoineAETP

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:54:52