Todos los productos
Search
Centro de documentos

Platform For AI:Manage sub-containers with DockerBoard

Última actualización: Sep 18, 2026

Los subcontenedores de DSW se basan en la tecnología Docker-in-Docker (DinD). Dentro de una misma instancia de DSW, usted puede crear y gestionar varios contenedores secundarios para aislar entornos y recursos. La PAI console ofrece una interfaz visual para crear, iniciar, detener y eliminar subcontenedores, así como para acceder a ellos mediante SSH.

Escenarios de uso

  • Aísle distintos entornos de desarrollo dentro de la misma instancia de DSW y compare los resultados de entrenamiento entre imágenes.

  • Cuando los recursos de GPU son limitados, cree subcontenedores a partir de distintas imágenes para cambiar el entorno de ejecución. Así evitará reconstruir la instancia y esperar nuevamente en la cola.

  • Si varios desarrolladores comparten una instancia de DSW, utilice subcontenedores para aislar el entorno y los recursos de cada uno.

Requisitos previos

  • Actualmente, los subcontenedores solo son compatibles con instancias de DSW creadas en un Lingjun resource group o en un resource group público.

  • El administrador de la instancia (el usuario que la creó o su propietario) debe contar con los permisos necesarios para crear y gestionar instancias de DSW.

  • La función Enable Multi-Container Isolation (DinD) debe estar habilitada al momento de crear la instancia de DSW.

  • Para acceder a los subcontenedores mediante SSH, habilite también la función SSH en la instancia de DSW.

Roles y permisos

La gestión de subcontenedores involucra dos roles:

  • Administrador de la instancia (propietario): es el usuario que creó la instancia de DSW. Este rol gestiona la configuración a nivel de instancia; por ejemplo, habilitar DinD, configurar restricciones de acceso, establecer el número máximo de subcontenedores y definir las reglas de aislamiento de directorios de datos.

  • Desarrollador de subcontenedores: es un usuario que cuenta con un rol de espacio de trabajo correspondiente (como desarrollo de algoritmos) o con permisos de RAM. Los desarrolladores de subcontenedores pueden consultar la lista de subcontenedores, crear los suyos y utilizarlos al iniciar sesión mediante SSH. Cada desarrollador solo puede iniciar, detener y eliminar los subcontenedores que él mismo creó, aunque tiene la posibilidad de consultar la información de todos.

Los permisos se controlan de dos maneras:

  • Basado en roles del espacio de trabajo: el administrador de la instancia puede restringir el acceso de roles específicos (como desarrollo de algoritmos) al contenedor principal desde la configuración de la instancia. Los roles restringidos solo pueden desarrollar dentro de subcontenedores, a los cuales acceden mediante SSH. Este método es fácil de comprender y se adapta a la mayoría de los escenarios.

  • Basado en políticas de RAM: configure políticas de RAM para un control de permisos más detallado, incluso sobre subcontenedores específicos en instancias concretas. Esta opción resulta adecuada para clientes empresariales que requieren un control de permisos más estricto.

Operaciones del administrador de la instancia

Habilitar el aislamiento de múltiples contenedores al crear una instancia

  1. Inicie sesión en la PAI console, vaya a la página de DSW y haga clic en Create Instance.

  2. En la configuración de la instancia, localice el interruptor Enable Multi-Container Isolation (DinD) y actívelo.

  3. Una vez habilitado, aparecerán a continuación los siguientes parámetros:

    • Restrict roles that can access the main container: seleccione en la lista desplegable los roles del espacio de trabajo que desea restringir. Estos no podrán abrir ni operar directamente el contenedor principal de DSW, sino que desarrollarán en subcontenedores a los que accederán mediante SSH.

      Por ejemplo, si selecciona Algorithm Development, los usuarios con ese rol no podrán ingresar al contenedor principal. Sin embargo, seguirán teniendo la capacidad de crear y usar sus propios subcontenedores desde la pestaña Sub-container Management en la página de detalles de la instancia.

      Si no selecciona ningún rol, todos los usuarios autorizados podrán acceder al contenedor principal y el comportamiento será el mismo que antes.

    • Maximum Number of Sub-containers: establezca el número máximo de subcontenedores que se pueden crear en la instancia. Los valores válidos son números enteros del 1 al 16, y el valor predeterminado es 10.

    • Data Catalog Fencing Configuration: especifique la ruta del archivo de configuración de aislamiento de directorios de datos en el contenedor principal. La ruta predeterminada es /etc/docker/dockerboard/mount_access.json. Este archivo controla los directorios de datos que cada usuario puede montar al crear subcontenedores. Primero, haga clic en Configuration Template Download para descargar la plantilla del archivo de configuración. Para conocer los pasos de configuración, consulte Configure data directory isolation.

  4. Complete el resto de la configuración de la instancia y envíela para crearla.

Configurar el aislamiento de directorios de datos

El aislamiento de directorios de datos controla qué directorios del contenedor principal puede montar cada desarrollador al crear un subcontenedor. Esto evita que los desarrolladores accedan sin autorización a los datos de almacenamiento de otros usuarios.

Pasos de configuración:

  1. En la página de creación o edición de la instancia, haga clic en el enlace Configuration Template Download, ubicado debajo de Data Catalog Fencing Configuration, para descargar el archivo de plantilla JSON.

  2. Siga el formato de la plantilla y complete la asignación entre el UID de cada usuario de RAM de Alibaba Cloud y los directorios del contenedor principal de DSW a los que dicho usuario puede acceder.

  3. Coloque el archivo mount_access.json editado en el contenedor principal de DSW, en la ubicación indicada por la ruta configurada (de forma predeterminada, /etc/docker/dockerboard/mount_access.json).

Formato del archivo de configuración:

El archivo de configuración utiliza el formato JSON. Cada clave corresponde al UID de un usuario de RAM de Alibaba Cloud, y cada entrada de usuario admite dos campos: Allow (los directorios que el usuario puede montar) y Deny (los directorios que el usuario no puede montar). A continuación se muestra un ejemplo del formato:

{
  "123124432xxx": {
    "Allow": [
      "/mnt/workspace",
      "/mnt/data1"
    ],
    "Deny": [
      "/mnt/data2"
    ]
  },
  "224321234xxx": {
    "Allow": [
      "*"
    ]
  }
}

La siguiente tabla describe los campos:

Campo

Descripción

Clave (por ejemplo, 123124432xxx)

El UID de un usuario de RAM de Alibaba Cloud.

Allow

La lista de directorios del contenedor principal que el usuario puede montar. Establezca este campo en "*" para permitir el montaje de todos los directorios.

Deny

La lista de directorios del contenedor principal que el usuario no puede montar. Deny tiene prioridad sobre Allow. Si un directorio aparece en ambas listas, no se podrá montar. Este campo es opcional.

Reglas de configuración:

  • Si el archivo de configuración existe y tiene un formato válido, el sistema comprueba si el usuario actual tiene permiso para montar los directorios seleccionados cuando se crea un subcontenedor.

  • Si el archivo de configuración no contiene ninguna entrada para el usuario actual, este no podrá montar directorios de datos al crear un subcontenedor. En ese caso, se mostrará el siguiente mensaje: "Your account has no available DSW paths. If you need to mount directories, contact the instance administrator to add the configuration for you."

  • Si la ruta del archivo configurada está vacía o el archivo no existe, el sistema omite las comprobaciones de aislamiento de directorios y todos los usuarios pueden montar cualquier directorio del contenedor principal.

Operaciones del desarrollador de subcontenedores

Abrir la página de gestión de subcontenedores

  1. Inicie sesión en la PAI console y vaya a la página de DSW.

  2. En la lista de instancias, haga clic en el nombre de la instancia de destino donde DinD esté habilitado para ir a la página de detalles.

  3. En la página de detalles de la instancia, haga clic en la pestaña Sub-container Management para abrir la página de gestión.

Nota

La pestaña de gestión de subcontenedores solo aparece cuando el contenedor principal de DSW se encuentra en estado Running. Si el contenedor principal no se está ejecutando, la pestaña no se mostrará.

Crear un subcontenedor

En la página de gestión de subcontenedores, haga clic en el botón Create Sub-container y complete a continuación los ajustes en el formulario de creación.

Información básica

Parámetro

Obligatorio

Descripción

Ejemplo

Nombre del contenedor

Sí

Especifique un nombre que facilite la identificación del subcontenedor.

Por ejemplo: my-container

Nombre de host

No

Especifique un nombre de host personalizado para el subcontenedor.

Por ejemplo: my-host

Política de reinicio

No

Establezca la política de reinicio automático del contenedor después de que finalice.

Por ejemplo: sin reinicio automático

Información del entorno

Parámetro

Obligatorio

Descripción

Ejemplo

Configuración de imagen

Sí

Seleccione la imagen que utilizará el subcontenedor. Se admiten dos métodos:

  • Imagen personalizada: seleccione una imagen personalizada registrada en PAI.

  • Dirección de la imagen: introduzca la dirección completa del repositorio de imágenes. Si el repositorio es privado, deberá proporcionar las credenciales.

Por ejemplo: dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai/torcheasyrec:1.1.0-pytorch2.10.0-gpu-py311-cu129-ubuntu22.04

Clave pública SSH

Sí

Introduzca la clave pública SSH de su cliente local, la cual se utilizará más adelante para iniciar sesión en el subcontenedor mediante SSH.

Si aún no ha generado una key pair de SSH, ejecute ssh-keygen -t rsa -b 4096 en una terminal local. De forma predeterminada, la clave pública se guarda en ~/.ssh/id_rsa.pub

Montaje del contenedor principal

No

En las instancias que tienen habilitado el disco de sistema persistente, los subcontenedores pueden montar cualquier ruta del contenedor principal. En aquellas donde esta función no está habilitada, los subcontenedores solo pueden montar las rutas de almacenamiento y los conjuntos de datos que ya estén montados en el contenedor principal.

Montaje de conjunto de datos

No

Solo se pueden montar los conjuntos de datos que ya están montados en el contenedor principal o aquellos ubicados en sus subdirectorios.

Variables de entorno

No

Establezca variables de entorno personalizadas para el subcontenedor mediante pares clave-valor.

Por ejemplo: ENV=prod

Comando de inicio

No

Especifique el comando que se ejecutará cuando inicie el contenedor.

Por ejemplo: python app.py

Punto de entrada

No

Especifique el punto de entrada del contenedor.

Por ejemplo: /bin/bash

Información de recursos

Parámetro

Obligatorio

Descripción

Ejemplo

Montaje de dispositivos GPU

No

Si la instancia de DSW cuenta con recursos de GPU, puede seleccionar los dispositivos GPU que desea montar al crear el subcontenedor. Se enumeran todas las tarjetas GPU de la instancia (incluidos los números de dispositivo) y es posible seleccionar varias.

Una vez seleccionados, los dispositivos GPU se montan en el subcontenedor para su uso.

Límite de CPU

No

Establezca el uso máximo de CPU del subcontenedor. Si deja este campo vacío, no se aplicará ningún límite y el subcontenedor podría consumir otros recursos inactivos de la instancia.

Por ejemplo: 8 núcleos

Límite de memoria

No

Establezca el uso máximo de memoria del subcontenedor. Si deja este campo vacío, no se aplicará ningún límite y el subcontenedor podría consumir otros recursos inactivos de la instancia.

Por ejemplo: 48 GiB

Una vez completada la configuración, haga clic en Confirm para crear el subcontenedor. En la página de gestión de subcontenedores, haga clic en Child Container Creation Progress para consultar el proceso de creación.

Gestionar subcontenedores

En la lista de subcontenedores, la columna de acciones de cada uno ofrece las siguientes operaciones:

Solo puede gestionar los subcontenedores que usted haya creado.
  • Start: inicia un subcontenedor que se encuentra en estado Stopped.

  • Stop: detiene un subcontenedor en ejecución. Una vez detenido, los procesos internos finalizan, pero la configuración del contenedor y los datos de almacenamiento montados no se pierden.

  • Restart: reinicia un subcontenedor en ejecución. Esta operación equivale a detenerlo y volver a iniciarlo.

  • Logs: permite consultar los registros de ejecución del subcontenedor, lo cual resulta útil para solucionar problemas.

  • SSH connection information: muestra la información de conexión SSH del subcontenedor, incluido el nombre de usuario y el comando de conexión.

  • Delete: elimina el subcontenedor. Los datos que no se hayan conservado mediante almacenamiento montado no se podrán recuperar tras la eliminación, por lo que debe proceder con precaución.

Consultar la lista de subcontenedores

La página de gestión de subcontenedores muestra una lista con todos los subcontenedores de la instancia actual. Dicha lista presenta la siguiente información:

Nota

La lista solo incluye los subcontenedores creados desde la página de gestión de subcontenedores. No contempla aquellos que los usuarios hayan creado manualmente mediante comandos de docker.

Campo

Descripción

Nombre del contenedor

El nombre del subcontenedor.

Nombre de usuario

El nombre del usuario que creó el subcontenedor.

Estado

El estado actual del subcontenedor, que puede ser Creating (cuando se está descargando la imagen), Created, Running, Paused, Restarting, Stopped, Starting, Stopping o Updating.

Memoria GPU (GiB)

El número de dispositivo GPU y el uso de memoria GPU.

Recursos de CPU

El uso de CPU y la cantidad de núcleos.

Memoria (GiB)

El uso de memoria.

Imagen del contenedor

La imagen que utiliza el subcontenedor.

Hora de creación

La hora en la que se creó el subcontenedor.

Todos los usuarios con permisos de lectura de DSW pueden consultar la lista completa de subcontenedores, pero únicamente pueden iniciar, detener y eliminar aquellos que ellos mismos hayan creado.

Consultar la lista de tareas de creación de contenedores

Crear un subcontenedor puede tomar bastante tiempo (por ejemplo, cuando se necesita descargar una imagen grande). Por ello, el sistema da seguimiento a las tareas de creación de contenedores.

En la esquina superior derecha de la página de gestión de subcontenedores, haga clic en Child Container Creation Progress para consultar el estado y los registros de todas las tareas de creación de contenedores. Usted puede cancelar manualmente las tareas que se encuentren en estado Creating. De forma predeterminada, los registros de las tareas se conservan durante 3 días y luego se eliminan automáticamente.

Acceder a un subcontenedor mediante SSH

Una vez creado el subcontenedor y cuando este se encuentre en estado Running, podrá iniciar sesión en él de forma remota mediante SSH.

Procedimiento:

  1. En la lista de subcontenedores, localice el subcontenedor de destino y haga clic en SSH connection information en la columna de acciones. Esta información incluye el nombre de usuario y el comando de conexión completo.

  2. Copie el comando de conexión generado por la consola y ejecútelo en una terminal local para iniciar sesión en el subcontenedor. El comando tiene el siguiente formato:

ssh <username>@<public-ip-address> -p <public-port> -i <local-private-key-path>

La siguiente tabla describe los parámetros:

Parámetro

Descripción

username

Se asocia de manera exclusiva a un subcontenedor y se muestra en el cuadro de diálogo "Access Method".

public-ip-address

La dirección de acceso público del contenedor principal de DSW.

public-port

El puerto público asignado al servicio SSH del subcontenedor.

local-private-key-path

La ruta del archivo de clave privada que corresponde a la clave pública SSH introducida al crear el subcontenedor (por ejemplo, ~/.ssh/id_rsa).

Al iniciar sesión mediante SSH, accederá al entorno de línea de comandos del subcontenedor correspondiente. Todos los subcontenedores comparten el puerto público del contenedor principal de DSW. El acceso se aísla mediante la clave SSH específica y el nombre de usuario de conexión exclusivo de cada subcontenedor.

Notas de uso y limitaciones

  • Dependencia del estado del contenedor principal: todas las funciones de gestión de subcontenedores dependen de que el contenedor principal de DSW se esté ejecutando. Si este se detiene o presenta un estado anómalo, la página de gestión de subcontenedores dejará de estar disponible y no se podrá acceder a los subcontenedores.

  • Alcance del montaje de almacenamiento: los subcontenedores solo pueden montar rutas de directorios del contenedor principal. No es posible montar almacenamiento externo de forma directa.

  • Límite de cantidad de subcontenedores: la cantidad de subcontenedores por instancia está sujeta al límite configurado por el administrador. El límite máximo configurable es 16.

  • Alcance de las funciones: los subcontenedores no ofrecen el entorno de desarrollo completo del contenedor principal de DSW (como las aplicaciones integradas JupyterLab, Terminal y WebIDE). Actualmente, el acceso a los subcontenedores se realiza mediante SSH.

  • Persistencia de datos: los datos de un subcontenedor que no se hayan conservado mediante almacenamiento montado no se podrán recuperar una vez eliminado. Guarde la información importante en directorios montados.

  • Impacto de eliminar la instancia: cuando se elimina una instancia de DSW, también se eliminan todos los subcontenedores asociados. Realice una copia de seguridad de sus datos con anticipación.

Preguntas frecuentes

P: ¿Por qué no veo la pestaña de gestión de subcontenedores en la página de detalles de la instancia?

Compruebe lo siguiente:

  1. Que la función Enable Multi-Container Isolation (DinD) estuviera habilitada al crear la instancia de DSW.

  2. Que el contenedor principal de DSW se encuentre en estado Running. Cuando el contenedor principal no se está ejecutando, la pestaña de gestión de subcontenedores no se muestra.

P: ¿Por qué no puedo montar directorios de datos al crear un subcontenedor?

Es posible que el administrador de la instancia haya configurado una política de aislamiento de directorios de datos y que no se le hayan asignado directorios disponibles a su usuario de RAM en el archivo de configuración. Comuníquese con el administrador de la instancia para que agregue una entrada para usted en mount_access.json.

P: ¿Por qué falla la conexión SSH a un subcontenedor?

Compruebe lo siguiente en orden:

  1. Si el subcontenedor se encuentra en estado Running.

  2. Si la clave privada local que utiliza coincide con la clave pública que introdujo al crear el subcontenedor.

  3. Si SSH está habilitado en la instancia de DSW.

  4. Si su red puede acceder a la dirección pública y al puerto público SSH de la instancia.

P: ¿Por qué la creación de un subcontenedor tarda tanto?

El tiempo de creación depende principalmente de la velocidad de descarga de la imagen. Descargar una imagen grande por primera vez puede tomar bastante tiempo. Puede consultar el progreso y los registros en la lista de tareas de creación de contenedores. Cuando más adelante cree un nuevo contenedor con la misma imagen, el proceso será mucho más rápido porque la imagen ya estará almacenada en caché de forma local.

P: ¿Puedo gestionar subcontenedores creados por otros usuarios?

Sí. Esto depende de su rol y de la configuración de permisos de operación de la instancia.

  • Los propietarios y administradores del espacio de trabajo, así como los propietarios de la instancia, cuentan con permisos de operación completos sobre ella. Pueden gestionar los subcontenedores creados por cualquier usuario y no les afecta la restricción que impide operar o modificar la instancia.

  • Los usuarios con el rol de desarrollo de algoritmos o de operación y mantenimiento de algoritmos, junto con los roles personalizados que tengan el permiso de solo lectura de DSW, también pueden gestionar de forma predeterminada los subcontenedores creados por otros usuarios. Si a estos roles se les restringe la capacidad de operar o modificar la instancia, solo podrán gestionar los subcontenedores que ellos mismos hayan creado.

  • Todos los usuarios con permisos de lectura de DSW pueden consultar la información básica de todos los subcontenedores.