开发舱(DevPod)是函数计算提供的一款在线开发IDE,旨在为开发者提供接近原生VS Code的云端开发体验。您无需在本地安装复杂的开发环境,即可直接在云端进行代码编写、调试和部署。本文将详细介绍开发舱的功能、概览以及如何在函数计算控制台配置和使用它。
功能概览与优势
DevPod作为一体化的云端开发环境,具有以下核心优势:
开箱即用: 无需本地配置,一键启动云端IDE。
类VS Code体验: 提供熟悉的界面和操作习惯,降低上手难度。
在线协作: 便于团队成员在统一环境中进行开发和调试。
环境一致性: 确保开发、测试、生产环境的一致性。
持久化存储: 核心数据独立于实例,安全可靠。
镜像构建与复用: 固化开发环境,实现快速部署和环境共享。
使用限制
在使用DevPod时,请注意以下限制:
运行时支持: DevPod目前仅支持自定义镜像运行时。
操作系统:基于 AMD64 架构的 Linux 系统,最低要求 glibc 2.28 推荐基础镜像:
debian:10、ubuntu:20.04、centos:8或更高版本预装工具:必须包含
curl命令用户权限:默认用户为
rootGPU兼容性:函数计算GPU目前使用的驱动版本为570.133.20,其对应的CUDA用户态驱动版本为12.8。为了最佳的兼容性支持,建议您使用的CUDA Toolkit最低版本为11.8,最高不超过平台提供的CUDA用户态驱动版本。详情见:【产品变更】GPU驱动版本由550.54.15升级至570.133.20
通过控制台配置开发舱
前提条件
已创建函数。具体操作,请参见创建函数。
操作步骤
登录函数计算控制台,在左侧导航栏,选择。
在顶部菜单栏,选择地域,然后在函数列表页面,单击目标函数。
在函数详情页面的代码页签,单击创建开发舱。
在DevPod界面,按需执行函数代码编写、测试和安装第三方依赖等操作。
持久化存储
所有DevPod实例均挂载一个 NAS 目录,路径为 /mnt/<函数名称>。该目录中的数据不会随实例销毁而丢失,非常适合存放模型权重、训练数据等重要文件,尤其是在AI开发场景中。
DevPod默认启用的环境变量:
HF_HOME=/mnt/<函数名称>/hf
MODELSCOPE_CACHE=/mnt/<函数名称>/modelscope
OLLAMA_MODELS=/mnt/<函数名称>/ollama持久化存储的特点:
制作镜像时不会被打包到镜像中。
即使DevPod删除销毁,内容依然存在。
适合存储大模型文件,有效控制镜像体积。
远程调试HTTP服务
DevPod支持将本地运行的 HTTP 服务通过代理对外暴露,便于进行远程调试或前端联调。
操作步骤
在DevPod终端启动 HTTP 服务,例如:
python -m http.server 9000点击控制台的访问开发环境获取代理地址,格式如下:
https://<devpod-id>.cn-<region>.ide.fc.aliyun.com/proxy/9000/通过该地址访问服务:
curl https://<devpod-id>.cn-<region>.ide.fc.aliyun.com/proxy/9000/
注意事项
对于依赖绝对路径的前端单页应用(如 React、Vue SPA),由于代理路径前缀 /proxy/9000/ 的存在,可能导致静态资源加载失败。
镜像构建与保存
镜像构建与ACR集成
您可以将当前 DevPod 实例的完整运行环境(包括代码、依赖、配置)打包为容器镜像,并推送至阿里云容器镜像服务(ACR),实现环境固化与复用。
使用限制:
仅支持在 运行中 的 DevPod 实例上执行镜像构建。
ACR 实例必须与 DevPod 位于同一地域。虽然 ACR 个人版支持跨地域创建,但为避免网络延迟与推送失败,强烈建议使用同地域实例。
ACR 版本选择
在保存镜像时,您可以选择 ACR 个人版或企业版。
特性 | 个人版 ACR | 企业版 ACR |
费用 | 免费 | 按实例规格计费(计费说明) |
网络访问 | 通过公网访问,无需 VPC 配置 | 必须与DevPod同VPC,通过内网访问,更安全稳定 |
性能与可靠性 | 受公网带宽影响,大镜像(≥5 GiB)可能推送失败 | 内网高速传输,适合大镜像与生产环境 |
适用场景 | 个人学习、功能验证、小规模测试 | 团队协作、生产部署、高可用需求、跨地域分发 |
准备ACR实例
个人版:访问 ACR 控制台,确保您已在与 DevPod 相同的地域开通个人版实例。
企业版:访问 ACR 控制台,创建或确保已有一个与 DevPod 实例在同一 VPC 下的企业版实例、命名空间和镜像仓库。
构建镜像
在控制台点击导出镜像。
选择 ACR 类型(个人版/企业版),填写以下参数:
配置项
说明
ACR 地域
选择已创建的 ACR 实例所在地域(必须与 DevPod 一致)
ACR 命名空间
从已创建的命名空间中选择
ACR 镜像仓库
选择目标仓库(需属于所选命名空间)
镜像名称(版本)
自定义镜像标签,如
v1.0或latest自定义排除路径
可指定不打包的目录(如
/data/cache),避免敏感数据泄露或减小镜像体积。系统自动排除:/.function_ai、/usr/local/share/jupyter/labextensions注意:NAS 挂载目录(
/mnt/<name>)中的内容不会被打包进镜像。点击确定,等待镜像的构建推送完成。
计费说明
开发舱的本质是部署在您的账号下的一个以 _DEV_POD_ 开头的FC函数。因此,您需要承担以下费用成本:
此外,镜像构建功能会在您的账号下创建 FC 函数用于辅助构建,您需要承担相应的函数调用费用。
当您完成DevPod 使用后,可以及时删除DevPod,并手动清理相关的NAS等资源,避免额外的费用支出。
DevPod与WebIDE对比
对比维度 | WebIDE | DevPod |
支持运行时 | Python、Node.js、PHP、自定义运行时 | 仅支持自定义镜像运行时 |
界面区域 | 4 个区域(资源管理器、文件编辑区、函数操作区、命令行终端) | 3 个区域(资源管理器、命令行终端、文件编辑区) |
存储限制 | 每用户 5 GB | 变更文件 <10 万个,总大小 <5 GB |
持久化存储 | 专有版支持 NAS/OSS | 内置 NAS 挂载( |
VPC 访问 | Serverless 版不支持,专有版支持 | 根据函数配置 |
镜像构建 | 不支持 | 支持导出镜像到 ACR(个人版/企业版) |
远程调试 | 不支持 | 支持 HTTP 服务代理调试 |
AI 场景支持 | 无特别说明 | 针对 AI 场景优化(预设 |
版本选择 | Serverless 版 / 专有版 | 无版本区分,统一为专有实例 |
主要用途 | 轻量级在线代码编辑、调试、打包依赖 | 容器化开发、镜像构建、AI 模型开发 |
计费方式 | Serverless 版免费,专有版按实例计费 | 按 FC 函数计费 + NAS 存储费用 |
总结:
WebIDE 更像是一个轻量级的在线代码编辑器,适合快速编写和调试函数代码,支持多种运行时,并提供 Serverless 免费版本,类似于云端的 VS Code Lite。
DevPod则是一个更强大的容器化云端开发环境,专注于自定义镜像运行时,提供持久化存储、镜像构建、远程调试等高级功能,特别适合 AI 模型开发和需要复杂环境配置的场景,类似于一个完整的云端容器、VS Code环境和镜像构建工具的结合体。