立即体验

选择使用方式

开发调试代码

创建云主机开发环境,配置 SSH 登录,并把配好的环境保存为镜像以便下次复用。

本文说明如何把VOLCENGING平台云主机保存的镜像,重新创建为新任务。

导读
  • 新云主机创建:用已保存的镜像创建新实例。已经保存过镜像的,可直接从这一步开始。
  • 配置 SSH 登录:基于基础镜像保存后再创建的实例,需要另外配置 SSH。
  • 镜像保存:保存并查看云主机镜像。
  • 异常排查:启动命令未填写或填写错误时的报错与处理。

一、新云主机创建

平台提供的基础镜像默认带有启动命令。保存后再用该镜像创建云主机任务时,需要重新带上默认启动命令。

  1. 新建云主机

    选择 GPU 规格后,选用之前保存的镜像。在「我的镜像」中选择对应 tag。

    创建云主机时选择我的镜像

  2. 填写端口和启动命令

    端口配置示例:8888(Jupyter Lab)、6266(code-server)。

    创建云主机时的端口配置,包含 8888 和 6266

    注意

    填写启动命令时不要有多余空格。

    将启动命令拆成三部分填写:

    字段值
    运行命令/bin/bash
    运行参数 1-c
    运行参数 2下方脚本
    bash
    /bin/bash
    bash
    -c
    bash
    /init/init.sh
    
    cat > /etc/supervisord.conf << 'EOF'
    [supervisord]
    nodaemon=true
    
    [program:sshd]
    command=/usr/sbin/sshd -D
    autostart=true
    autorestart=true
    stdout_logfile=/dev/stdout
    stderr_logfile=/dev/stderr
    
    [program:code-server]
    command=/usr/bin/code-server --bind-addr 0.0.0.0:62661
    autostart=true
    autorestart=true
    stdout_logfile=/dev/stdout
    stderr_logfile=/dev/stderr
    
    [program:jupyterlab]
    command=/opt/miniconda3/bin/jupyter-lab --ip=0.0.0.0 --port=8888 --allow-root --no-browser
    directory=/root
    autostart=true
    autorestart=true
    stdout_logfile=/dev/stdout
    stderr_logfile=/dev/stderr
    environment=HOME="/root",PATH="/opt/miniconda3/bin:%(ENV_PATH)s"
    
    EOF
    
    exec supervisord -c /etc/supervisord.conf

    运行命令填写为 /bin/bash,运行参数为 -c 与 init 脚本

  3. 挂载存储(可选)

    按需创建存储挂载,或挂载已有对象存储。

    创建云主机时的存储挂载配置界面

  4. 创建实例

    勾选服务协议后点击 创建实例。创建后会进入镜像下载 / 启动中状态。

    勾选服务协议并点击创建实例

    新创建的云主机处于启动中状态

二、配置 SSH 登录

基于基础镜像保存并重新创建的云主机,需要另外配置 SSH 登录。

  1. 任务启动后关机

    实例运行后,SSH 登录信息会提示「SSH 端口未配置,请在关机后配置」。先关机。

    运行中的云主机提示 SSH 端口未配置

  2. 配置 SSH 登录

    关机后点击 配置 SSH 登录。默认内部端口为 22,再点击「请点击此处完成必要的设置」去设置登录密码。

    已停止的云主机详情页中的配置 SSH 登录按钮

    配置 SSH 登录窗口,内部端口 22,需点击此处完成设置

    不修改则默认密码是 123456;若修改,按页面规则指定密码。

    注意

    默认密码不安全。建议立即改为至少 12 位的密码,或改用 SSH 公钥登录。

    SSH 登录密码设置界面,默认密码 123456 及安全提示

  3. 重新启动任务

    配置完成后重新开机。出现登录指令即表示配置成功。

    云主机处于启动中状态

    SSH 登录信息区域显示登录指令和内部端口 22

  4. 验证 SSH 登录

    Linux 环境直接复制登录指令,例如:

    bash
    ssh -p 40006 root@xxxx.550w.link

    部分 Shell 需要调整为:

    bash
    ssh root@xxxx.550w.link:40006

    Linux 环境下 SSH 登录成功后的系统信息界面

三、镜像保存

  1. 保存镜像

    在云主机的「更多操作」中点击 保存镜像。如果云主机正在运行,按钮会显示为「关机并保存」,逻辑相同。

    云主机管理界面,快捷操作中的保存镜像按钮被标出

    手动指定 tag:

    保存镜像窗口,可填写镜像 URI 和手动指定的 tag

    点击确认后会显示「镜像保存中」。保存完成后,该提示会消失。

    云主机详情页显示镜像保存中

  2. 查看镜像

    在镜像仓库中可以查看该镜像下指定的 tag。

    说明

    重复保存会在同一镜像下新增一个 tag;关机并保存则会创建一个新 tag。

    云主机镜像仓库列表,指定 tag 被标出

四、异常排查

实例未能正常启动时,页面可能显示错误状态。

云主机处于错误状态,提示未能正常启动

点击右侧 日志 / 事件 / 终端 查看事件。若日志中出现类似 Cannot find blockdevice 等内容,通常说明启动命令未配置或配置错误。

错误状态下的日志,包含 Cannot find blockdevice 等提示

解决方式:进入任务详情 → 设置 → 配置启动命令,参考上文「填写端口和启动命令」补全对应的启动命令和端口。更改配置前需要先关机。

任务设置中的启动命令配置,需先关机才能更改