AIStudio SSH 公钥管理,一处配置,处处可用AIStudio SSH 公钥管理,一处配置,处处可用 ,只为更佳开发体验如何配置
Skip to content

在开发机内使用 Docker

开发机可启用 Docker 容器( DinD)功能,允许用户在开发机内(主容器)运行其他容器,从而提供更高的灵活性和隔离性。

特别是在需要 GPU 资源的场景下,用户可以在开发机 DinD 环境中构建镜像,并创建挂载 GPU 的容器,测试容器化应用,并将构建好的镜像推送到租户镜像仓库。

NOTE

在该场景下,开发机为主容器,您在开发机内部启动的容器与主容器为互相隔离的环境,需要自行挂载 GPU 和文件存储目录。

启用方式

在创建开发机时,找到 Docker 容器开关,设置为开启。

创建开发机后,也可前往开发机详情页,通过「改配」按钮进入以下页面,调整开关启用状态。如需帮助,请参见更改开发机配置

alt text

使用场景

  • 构建镜像,并将镜像推送到租户私有镜像仓库。
  • 从现有的镜像归档文件(docker save 的压缩文件)创建镜像,并推送到租户私有镜像仓库。
  • 测试容器化应用。

已知限制

计算资源可用性

如果不需要使用 Docker 容器功能,建议在创建开发机时不要启用 Docker 容器 开关,避免额外开销。

NOTE

开启「Docker 容器」后,开发机(主容器)与内部容器共享 CPU 和内存资源。

存储资源可用性

可用的持久化存储:

非持久化存储:

  • 开发机内部容器的 rootfs 空间默认为 100GB,不支持持久化存储。

IMPORTANT

  • 使用 docker volume 创建的卷不会持久化保存。
  • 已拉取的镜像不会持久化保存。一旦开发机停止运行,主容器内的已拉取的镜像将自动删除,下次需要重新拉取。

GPU 可用性

在开发机内启动容器时,可以使用 --gpus=all 挂载全部 GPU,开发机(主容器)内 GPU 资源依然可用。

如果在开发机内启动多个容器,这些容器会共享 GPU 资源。

Docker Compose

支持使用 Docker Compose,但需要自行安装工具。详见Docker Compose

权限

  • 不支持使用 --privileged 参数启动容器。
  • 如遇到文件权限问题,请提前在开发机内调整目录权限,例如 chmod -R 777 /path/to/directory
  • 部分镜像挂载的目录可能需要提前在开发机内调整所有者权限,例如 chown -R 999:999 /path/to/directory

常见问题

如何添加 proxy 或 mirror 配置?

详见 Dockerctl