使用容器
GPU 容器创建完成并进入运行中状态后,可以通过 SSH 或 Jupyter 进入容器,使用 GPU 进行开发、训练和推理。
概述
容器运行后,实例详情页会展示 GPU 型号、GPU 数量、镜像、磁盘用量、计费周期和访问端口等信息。日常使用时,重点关注容器状态、连接入口、GPU 是否可见和数据盘容量。
建议把代码、数据、模型和输出文件统一放在 /workspace,避免系统盘空间不足或数据管理混乱。
查看容器信息
进入实例详情后,重点查看以下内容:
| 信息 | 说明 |
|---|---|
| 实例 ID | 启动、停止、删除、扩容时用于定位实例 |
| 状态 | 运行中 时可以连接使用 |
| GPU 型号和数量 | 当前容器分配到的 GPU 资源 |
| 镜像 | 当前容器使用的系统和框架环境 |
| 数据盘容量 | /workspace 的总容量、已用容量和使用率 |
| 访问端口 | SSH、Jupyter 等连接入口 |
| Jupyter 地址 | 浏览器访问 Notebook 的入口,通常已带访问 token |
SSH 连接
实例详情中会展示 SSH 访问入口。找到用途为 SSH 的端口后,可以复制页面提供的 SSH 命令。
命令示例:
ssh root@103.44.80.45 -p 30037Windows 用户可以在 PowerShell 或 Windows Terminal 中执行:
ssh root@103.44.80.45 -p 30037第一次连接时,如果终端提示:
Are you sure you want to continue connecting?输入:
yes然后按提示输入创建容器时设置的 SSH 密码。密码输入过程中不会显示字符,这是正常现象,输入完成后回车即可。
平台不会在实例详情、列表、日志、订单或账单中展示 SSH 密码。如果忘记密码,请重新创建容器或按平台后续提供的重置能力处理。
使用 SSH 公钥登录
如果已在 账户中心 > 公钥管理 添加 SSH 公钥,并且列表中的同步状态为 已下发,可使用与该公钥配对的本地私钥登录运行中的容器:
ssh -i ~/.ssh/id_ed25519 root@<访问地址> -p <SSH 可访问端口>-i 参数必须指定本地私钥文件,不能填写以 .pub 结尾的公钥文件。添加、删除公钥的步骤和支持格式请参见 SSH 公钥管理。
Jupyter 访问
如果镜像中已安装并启动 Jupyter,实例详情会提供 Jupyter 访问地址。优先复制页面展示的 Jupyter 地址到浏览器打开;该地址通常已经带有访问 token。
访问地址示例:
http://103.44.80.45:40037/?token=kapczxmgf4shirngmjd1lnqvABCDE12如果页面要求输入 token,可以复制实例详情中的 Jupyter token;token 由系统创建容器时自动生成,用户不需要手动设置。
如果浏览器无法打开,请检查:
| 检查项 | 说明 |
|---|---|
| 实例状态 | 必须是 运行中 |
| 服务状态 | 镜像内需要启动 Jupyter 服务 |
| 监听地址 | Jupyter 应监听 0.0.0.0 |
| 端口 | 使用页面展示的 Jupyter 端口 |
| 网络 | 本地网络需要能访问该地址 |
如果当前镜像没有自动启动 Jupyter,可以先通过 SSH 进入容器,再执行启动命令:
jupyter lab --ip=0.0.0.0 --port=8888 --allow-root --ServerApp.token="${JUPYTER_TOKEN}"启动后仍以实例详情页展示的 Jupyter 外部地址为准,不要直接访问容器内的 127.0.0.1:8888。
自定义端口
运行中的容器如需对外提供 HTTP Web 服务或 HTTP 推理接口,可在实例的 登录 弹窗中切换到 自定义端口 页签,新增容器端口映射。自定义端口仅支持 HTTP 协议。
先在容器内启动服务,并确保服务监听在
0.0.0.0:<容器端口>,例如:bashpython3 -m http.server 8000 --bind 0.0.0.0在 新增端口 中输入容器内服务使用的端口,点击 添加。
容器端口范围为
1到65535;22(SSH)和8888(Jupyter)为系统保留端口,不能新增。添加成功后,页面会展示 自定义端口、可访问端口 和 可访问地址。访问服务时,请使用页面给出的可访问地址和可访问端口,不要直接使用容器端口。
自定义端口仅创建访问映射,不会启动容器内的应用。请仅暴露确有需要的服务,并自行做好应用鉴权和访问控制。
使用 GPU
进入容器后,先确认 GPU 是否可见:
nvidia-smi正常情况下可以看到 GPU 型号、显存、驱动和 CUDA 信息。
如果镜像安装了 PyTorch,也可以检查 CUDA 是否可用:
python - <<'PY'
import torch
print(torch.cuda.is_available())
print(torch.cuda.device_count())
PY如果 Python 示例失败,可能只是镜像没有安装 PyTorch。请先以 nvidia-smi 的结果为准。
使用数据盘
推荐将长期数据放到:
/workspace例如:
cd /workspace
mkdir -p project data output不建议把重要数据放在 /、/tmp 或 /root 下。
查看磁盘容量:
df -h /
df -h /workspace数据盘使用率达到预警阈值时,请及时清理无用文件或扩容数据盘。
使用对象存储
当对象存储服务已开通且激活,并且对象存储区域与 GPU 容器所在区域一致时,系统会将对象存储挂载到容器内的 /object-storage 目录。
该目录为只读挂载:可以查看、读取文件或复制文件到 /workspace,但不能在其中上传、修改或删除对象。例如:
ls -al /object-storage
cp -r /object-storage/<文件或目录> /workspace/data/需要上传、修改或删除对象时,请在对象存储控制台或使用对象存储 CLI 完成;训练输出、缓存和可写数据请保存到 /workspace。如果容器内未出现该目录,请确认对象存储已开通、处于可用状态,且所选容器区域与对象存储区域一致。
数据盘扩容
当 /workspace 容量不足时,可以在实例详情页发起数据盘扩容。
扩容规则:
| 项目 | 说明 |
|---|---|
| 扩容对象 | 只扩容数据盘 /workspace |
| 目标容量 | 必须大于当前数据盘容量 |
| 系统盘 | 不支持扩容 |
| 费用 | 新增容量会按存储计费规则计费 |
扩容完成后,实例详情中的数据盘总容量和可计费容量会更新。
保存镜像
当您已在容器中安装依赖、配置运行环境后,可将当前容器保存为自定义镜像,以便后续快速创建相同环境的 GPU 容器。
保存镜像仅固化容器的可写层,例如在容器系统盘中安装的软件、环境配置和未挂载目录中的文件;以下内容不会被保存到镜像中:
数据盘
/workspace中的数据;对象存储只读挂载目录
/object-storage中的数据;容器外部访问映射、实例计费配置等实例级配置。
操作步骤如下:
确认容器处于 运行中 或 已停止 状态,且没有创建、启动、停止、删除等未完成操作。
在实例列表或详情页的 更多操作 中点击 保存镜像。
按页面提示填写镜像名称和 Tag。镜像名称仅支持小写字母、数字、点、下划线、短横线和斜杠;Tag 建议使用清晰的版本号,例如
v1.0、cuda12.8,避免长期只使用latest。提交后等待镜像固化、推送和仓库确认完成。运行中的容器会在固化时短暂暂停以保证快照一致性,但不会被关机或重启。
保存完成后,进入 镜像管理 > 我的镜像,选择与源容器相同的地域,确认新镜像处于可用状态。后续创建容器时可在 我的镜像 中选择该镜像。
保存镜像会产生镜像存储费用;不再使用时,请在镜像管理中删除对应镜像。镜像管理中的查看、使用和删除说明请参见 镜像管理。
停止、启动和删除
停止容器
停止会关闭容器运行状态,适合临时不使用 GPU 的场景。停止完成后,系统会释放已分配的 GPU 资源,后续不再产生 GPU 算力费用。
停止后请注意:
停止不等于删除。
已分配的 GPU 资源会在停止完成后释放,后续不再产生 GPU 算力费用。
容器和数据仍保留。
如果数据盘超出免费额度,存储费用可能继续产生。
启动容器
已停止的容器可以重新启动。启动成功后,状态会回到 运行中,再通过 SSH 或 Jupyter 连接使用。
删除容器
删除会释放容器、GPU 占用和访问端口,关联数据盘会进入释放流程。
删除前请确认:
- 重要代码、数据和模型已经保存或迁移。
- 不再需要该容器继续运行。
- 删除后实例默认不再出现在列表中。
注意事项
创建成功后不能立刻连接时,请等待状态变为
运行中。SSH 连接失败时,优先检查实例状态、SSH 端口、网络连通性、密码和镜像内 SSH 服务。
使用 SSH 公钥登录失败时,确认同步状态为
已下发、本地私钥与已保存公钥匹配,并使用页面展示的 SSH 访问地址和端口。Jupyter 打不开时,优先检查实例状态、Jupyter 地址、token、镜像内是否启动 Jupyter,以及是否监听
0.0.0.0:8888。磁盘使用率来自容器内
df口径,可能与手动计算结果略有差异。/object-storage是对象存储的只读挂载目录;请将需要写入的数据、训练输出和缓存保存到/workspace。保存镜像不会包含
/workspace数据盘和/object-storage中的数据。保存前请将确需固化的环境文件放在容器可写层,并单独备份重要数据。停止容器完成后会释放 GPU 资源,后续不再产生 GPU 算力费用;容器和数据盘仍会保留。如不再需要容器或数据盘,请删除容器。
删除容器前请先备份重要数据。
