Skip to content

Coder 开发环境使用方法 #29

@hipudding

Description

@hipudding

NOTE:使用Coder平台请使用外部接入电脑访问,使用内网访问web ide,web ssh等功能,会被拦截

0. 网络白名单

如果可以正常访问 https://codespaces.osinfra.cn ,并点击OpenId Connect,可以正常进入页面,可以跳过白名单设置。
如果网页访问异常,按照如下操作添加网络白名单。

  1. 获取本机的外部ip
curl ifconfig.me
  1. 配置白名单

联系基础设施运维同事,添加白名单。需要添加白名单的服务有:

  • Coder 服务;
  • 账号服务;
  • 目标主机(昇腾主机)。

1. 通过Openid登录

  1. 选择OpenID Connect
    注意:该登录方式直接通过邮件验证码登录,登录后也不可配置登录密码用于后续密码登录,只能用该方式登录。
    image-20250605095313005

  2. 使用huawei邮箱接收验证码登录

注意

  • 如果提示验证码错误或者超时,说明没有配置白名单权限,需要联系基础设置运维同学添加权限。
  • 如果outlook邮件中找不到收到的验证码邮件,请查看下inbox->外部邮件文件夹
    image-20250605095344078

2. 创建工作区

image-20250605095521503

image-20250605095543386

参数说明

  • Workspace Name: 创建的dev环境的名称
  • Container image: 创建环境所需的镜像(注意使用docker hub代理)
  • CPU: 容器的CPU数量
  • Group ID: 进入容器的Group ID,这个与镜像中的Group ID需要对应
  • Home disk size: Home路径大小,不可更改
  • Home path: home 盘挂载的路径
  • Memory: 容器的内存
  • Non root: 非root账号 (好像User id指定0也不影响,可以先不用管这个选项)
  • NPU: NPU数量(如果不使用NPU,例如构建等容器,请选择0)
  • Shared path: 共享目录挂载路径,公共目录,请不要删除不了解的文件
  • User ID: 进入容器的User ID,这个与镜像中的User ID需要对应

注意:container image需要能够在国内访问,推荐使用代理,dockerhub上的镜像无法部署。

建议构建自己的镜像,方法参考下一节。

3. 构建自己的容器镜像

开发镜像的Dockerfile请归档到 https://github.com/cosdt/dev_images, 提交PR后,会自动构建镜像并上传swr(华为镜像仓库)。

目录结构为: dev_images/{用户}/{镜像名}.Dockerfile。构建出的镜像地址为:swr.cn-southwest-2.myhuaweicloud.com/modelfoundry/dev_images/{用户名}/{镜像名}:{commit_id}

构建成功后自行merge到main分支即可。

注意

  1. 构建的镜像中必须包含curl,wget等工具,否则容器无法正常启动。
  2. 默认会以USERID=1000, GROUPID=1000用户启动,镜像中的账户ID需要和创建容器输入的ID相同。
  3. 仅有home路径会持久化,所有非home下的数据会在重启后恢复,安装软件等操作需要打到镜像中,或者安装到Home下。

4. 连接workspace

image-20250605095822804

5. 进阶使用手册

参考 coder使用手册 https://coder.com/docs/user-guides

FAQ

Q:容器会一直保持运行么?

A:容器默认1小时停止,仅会保存Home目录,home路径为 /home/{username},制作镜像的时候需要留意账户信息。如果需要运行长期任务,在设置中配置自动停止的时间。如果有ssh或者vscode连接,则不会计时关闭。

Q:容器关闭后怎么办?

A:vscode连接远程workspace,以及网页点击都会启动workspace。

Q:本地ssh怎么连接?

A:参考coder cli使用方法。

Q: 为什么容器创建不出来?

A:没有docker代理,可以使用国内代理,确保容器中有curl,wget等工具,确保USERID和GROUPID与容器中的用户对应。

Q:为什么没有bashrc等文件,为什么终端颜色异常?

A:挂载的目录没有必要的文件。 cp /etc/skel/.bash_logout /etc/skel/.bashrc /etc/skel/.profile ~/

网络不稳定,延迟高? 参考这里 ---> #30

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions