DevPod

开发舱(DevPod)是函数计算提供的一款在线开发IDE,旨在为开发者提供接近原生VS Code的云端开发体验。您无需在本地安装复杂的开发环境,即可直接在云端进行代码编写、调试和部署。本文将详细介绍开发舱的功能、概览以及如何在函数计算控制台配置和使用它。

功能概览与优势

DevPod作为一体化的云端开发环境,具有以下核心优势:

  • 开箱即用: 无需本地配置,一键启动云端IDE。

  • VS Code体验: 提供熟悉的界面和操作习惯,降低上手难度。

  • 在线协作: 便于团队成员在统一环境中进行开发和调试。

  • 环境一致性: 确保开发、测试、生产环境的一致性。

  • 持久化存储: 核心数据独立于实例,安全可靠。

  • 镜像构建与复用: 固化开发环境,实现快速部署和环境共享。

使用限制

在使用DevPod时,请注意以下限制:

  • 运行时支持: DevPod目前仅支持自定义镜像运行时

  • 操作系统:基于 AMD64 架构的 Linux 系统,最低要求 glibc 2.28 推荐基础镜像:debian:10ubuntu:20.04centos:8 或更高版本

  • 预装工具:必须包含 curl 命令

  • 用户权限:默认用户为 root

  • GPU兼容性:函数计算GPU目前使用的驱动版本为570.133.20,其对应的CUDA用户态驱动版本为12.8。为了最佳的兼容性支持,建议您使用的CUDA Toolkit最低版本为11.8,最高不超过平台提供的CUDA用户态驱动版本。详情见:【产品变更】GPU驱动版本由550.54.15升级至570.133.20

通过控制台配置开发舱

前提条件

已创建函数。具体操作,请参见创建函数

操作步骤

  1. 登录函数计算控制台,在左侧导航栏,选择函数管理 > 函数列表

  2. 在顶部菜单栏,选择地域,然后在函数列表页面,单击目标函数。

  3. 在函数详情页面的代码页签,单击创建开发舱

  4. DevPod界面,按需执行函数代码编写、测试和安装第三方依赖等操作。

持久化存储

所有DevPod实例均挂载一个 NAS 目录,路径为 /mnt/<函数名称>。该目录中的数据不会随实例销毁而丢失,非常适合存放模型权重、训练数据等重要文件,尤其是在AI开发场景中。

DevPod默认启用的环境变量:

HF_HOME=/mnt/<函数名称>/hf
MODELSCOPE_CACHE=/mnt/<函数名称>/modelscope
OLLAMA_MODELS=/mnt/<函数名称>/ollama

持久化存储的特点:

  • 制作镜像时不会被打包到镜像中。

  • 即使DevPod删除销毁,内容依然存在。

  • 适合存储大模型文件,有效控制镜像体积。

远程调试HTTP服务

DevPod支持将本地运行的 HTTP 服务通过代理对外暴露,便于进行远程调试或前端联调。

操作步骤

  1. DevPod终端启动 HTTP 服务,例如:

    python -m http.server 9000
  2. 点击控制台的访问开发环境获取代理地址,格式如下:

    https://<devpod-id>.cn-<region>.ide.fc.aliyun.com/proxy/9000/
  3. 通过该地址访问服务:

    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 配置

必须与DevPodVPC,通过内网访问,更安全稳定

性能与可靠性

受公网带宽影响,大镜像(≥5 GiB)可能推送失败

内网高速传输,适合大镜像与生产环境

适用场景

个人学习、功能验证、小规模测试

团队协作、生产部署、高可用需求、跨地域分发

准备ACR实例

构建镜像

  1. 在控制台点击导出镜像

  2. 选择 ACR 类型(个人版/企业版),填写以下参数:

    配置项

    说明

    ACR 地域

    选择已创建的 ACR 实例所在地域(必须与 DevPod 一致)

    ACR 命名空间

    从已创建的命名空间中选择

    ACR 镜像仓库

    选择目标仓库(需属于所选命名空间)

    镜像名称(版本)

    自定义镜像标签,如 v1.0 或 latest

    自定义排除路径

    可指定不打包的目录(如 /data/cache),避免敏感数据泄露或减小镜像体积。系统自动排除:/.function_ai/usr/local/share/jupyter/labextensions

    注意:NAS 挂载目录(/mnt/<name>)中的内容不会被打包进镜像。
  3. 点击确定,等待镜像的构建推送完成。

计费说明

开发舱的本质是部署在您的账号下的一个以 _DEV_POD_ 开头的FC函数。因此,您需要承担以下费用成本:

  • 函数计算费用: 函数调用和资源使用等费用。更多信息,请参见 计费概述

  • NAS文件存储费用: 挂载NAS文件存储系统的相关费用。更多信息,请参见 通用型NAS计费

此外,镜像构建功能会在您的账号下创建 FC 函数用于辅助构建,您需要承担相应的函数调用费用。

说明

当您完成DevPod 使用后,可以及时删除DevPod,并手动清理相关的NAS等资源,避免额外的费用支出。

DevPodWebIDE对比

对比维度

WebIDE

DevPod

支持运行时

Python、Node.js、PHP、自定义运行时

仅支持自定义镜像运行时

界面区域

4 个区域(资源管理器、文件编辑区、函数操作区、命令行终端)

3 个区域(资源管理器、命令行终端、文件编辑区)

存储限制

每用户 5 GB

变更文件 <10 万个,总大小 <5 GB

持久化存储

专有版支持 NAS/OSS

内置 NAS 挂载(/mnt/<函数名称>),数据永久保存

VPC 访问

Serverless 版不支持,专有版支持

根据函数配置

镜像构建

不支持

支持导出镜像到 ACR(个人版/企业版)

远程调试

不支持

支持 HTTP 服务代理调试

AI 场景支持

无特别说明

针对 AI 场景优化(预设 HF_HOMEMODELSCOPE_CACHE 等环境变量)

版本选择

Serverless 版 / 专有版

无版本区分,统一为专有实例

主要用途

轻量级在线代码编辑、调试、打包依赖

容器化开发、镜像构建、AI 模型开发

计费方式

Serverless 版免费,专有版按实例计费

按 FC 函数计费 + NAS 存储费用

总结

  • WebIDE 更像是一个轻量级的在线代码编辑器,适合快速编写和调试函数代码,支持多种运行时,并提供 Serverless 免费版本,类似于云端的 VS Code Lite。

  • DevPod则是一个更强大的容器化云端开发环境,专注于自定义镜像运行时,提供持久化存储、镜像构建、远程调试等高级功能,特别适合 AI 模型开发和需要复杂环境配置的场景,类似于一个完整的云端容器、VS Code环境和镜像构建工具的结合体。