Todos os produtos
Search
Central de documentação

Platform For AI:Gerenciamento de sub-contêineres (DockerBoard)

Última atualização: Jun 27, 2026

Os sub-contêineres do DSW usam a tecnologia docker in docker (DinD) para criar e gerenciar vários contêineres secundários em uma única instância DSW, o que permite isolar ambientes e gerenciar recursos. O console oferece uma interface visual para criar, iniciar, parar e excluir sub-contêineres, além de acessá-los remotamente via SSH.

Casos de uso

  • Isole diferentes ambientes de desenvolvimento na mesma instância DSW para comparar e validar resultados de treinamento entre imagens distintas.

  • Quando houver escassez de recursos GPU, alterne ambientes de execução criando sub-contêineres com imagens diferentes para evitar a reconstrução da instância e a espera em fila.

  • Use sub-contêineres para permitir que vários usuários compartilhem uma única instância DSW, mantendo o isolamento de ambientes e recursos entre eles.

Pré-requisitos

  • O recurso de sub-contêiner tem suporte apenas em instâncias DSW criadas a partir de um Lingjun Resource Group ou de um grupo de recursos de uso geral versão 1.0.

  • O administrador da instância (criador ou Owner) deve ter permissão para criar e gerenciar instâncias DSW.

  • A instância DSW deve ter o recurso Enable Multi-Container Isolation (DinD) ativado durante a criação.

  • Para acessar os sub-contêineres via SSH, o recurso SSH também deve estar habilitado na instância DSW.

Funções e permissões

O gerenciamento de sub-contêineres envolve duas funções:

  • Administrador da instância (Owner): Criador da instância DSW. Esta função gerencia configurações no nível da instância, como ativar o DinD, configurar restrições de acesso, definir o número máximo de sub-contêineres e estabelecer regras de isolamento de diretórios de dados.

  • Desenvolvedor de sub-contêiner: Usuário com uma função correspondente no workspace (como Algorithm Development) ou permissões RAM. Esta função permite visualizar a lista de sub-contêineres, criar novos sub-contêineres e fazer login neles via SSH. Os desenvolvedores podem iniciar, parar ou excluir apenas os sub-contêineres que criaram, mas conseguem visualizar informações de todos.

Há dois métodos disponíveis para controle de permissões:

  • Controle baseado em funções do workspace: O administrador da instância pode restringir o acesso de funções específicas, como Algorithm Development, ao contêiner principal. Usuários com funções restritas só podem trabalhar em sub-contêineres. Este método é simples e adequado para a maioria dos cenários.

  • Controle baseado em políticas RAM: Configure uma política RAM para obter um controle de permissões mais granular, chegando ao nível de um sub-contêiner específico de uma instância. Recomendado para clientes empresariais com requisitos rigorosos de segurança.

Operações do administrador

Ativar isolamento de múltiplos contêineres

  1. Faça login no PAI console, acesse a página do DSW e clique em Create Instance.

  2. Nas configurações da instância, localize e ative a chave Enable Multi-Container Isolation (DinD).

  3. Após ativar essa opção, as seguintes configurações serão exibidas:

    • Restrict roles that can access the main container: Na lista suspensa, selecione as funções do workspace a serem restringidas. Usuários com uma função restrita não podem abrir ou operar diretamente o contêiner principal do DSW; eles só podem trabalhar fazendo login em um sub-contêiner via SSH.

      Por exemplo, se você selecionar Algorithm Development, os usuários com essa função não poderão acessar o contêiner principal. No entanto, eles ainda poderão criar e usar seus próprios sub-contêineres na aba Sub-container Management da página de detalhes da instância.

      Se nenhuma função for selecionada, todos os usuários autorizados poderão acessar o contêiner principal normalmente, mantendo o comportamento existente.

    • Maximum Number of Sub-containers: Defina o número máximo de sub-contêineres que podem ser criados para a instância. Insira um número inteiro de 1 a 16. O valor padrão é 10.

    • Data Catalog Fencing Configuration: Especifique o caminho do arquivo de configuração de isolamento de diretórios de dados dentro do contêiner principal. O caminho padrão é /etc/docker/dockerboard/mount_access.json. Esse arquivo controla quais diretórios de dados os usuários podem montar ao criar sub-contêineres. Clique em Configuration Template Download para baixar o arquivo de modelo. Para etapas de configuração, consulte Configurar isolamento de diretórios de dados.

  4. Conclua as demais configurações da instância e clique em Create Instance.

Configurar isolamento de diretórios de dados

O isolamento de diretórios de dados controla quais diretórios os desenvolvedores podem montar ao criar sub-contêineres, impedindo o acesso a dados de armazenamento fora de seu escopo autorizado.

Procedimento

  1. Na página de criação ou edição da instância, clique no link Data Catalog Fencing Configuration abaixo de Configuration Template Download para obter o arquivo de modelo JSON.

  2. Siga o formato do modelo para mapear cada UID de subconta Alibaba Cloud aos diretórios dentro do contêiner principal do DSW que o usuário tem permissão para acessar.

  3. Coloque o arquivo mount_access.json editado no local especificado pelo caminho de configuração no contêiner principal do DSW. O local padrão é /etc/docker/dockerboard/mount_access.json.

Formato do arquivo de configuração

O arquivo de configuração está no formato JSON e utiliza o UID da subconta Alibaba Cloud como chave. Para cada usuário, configure Allow (diretórios de montagem permitidos) e Deny (diretórios de montagem negados). Veja um exemplo:

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

A tabela a seguir descreve os campos.

Campo

Descrição

Chave (por exemplo, 123124432xxx)

O UID da subconta Alibaba Cloud.

Allow

Lista de diretórios do contêiner principal que o usuário pode montar. Defina como "*" para permitir a montagem de todos os diretórios.

Deny

Lista de diretórios do contêiner principal que o usuário não pode montar. Deny tem precedência sobre Allow. Se um diretório aparecer em ambas as listas, o usuário não poderá montá-lo. Este campo pode ser omitido.

Regras de aplicação da configuração

  • Se o arquivo de configuração existir e for válido, o sistema verificará se o usuário tem permissão para montar os diretórios selecionados ao criar um sub-contêiner.

  • Caso nenhum registro do usuário seja encontrado no arquivo de configuração, ele não poderá montar nenhum diretório de dados ao criar um sub-contêiner. A página exibirá a mensagem: "Your account does not have any available DSW paths. If you need to mount a path, contact the instance administrator to add a configuration for you."

  • Se o caminho do arquivo de configuração estiver vazio ou o arquivo não existir, o sistema não realizará verificações de isolamento de diretórios e todos os usuários poderão montar qualquer diretório do contêiner principal.

Para desenvolvedores

Acessar a página de gerenciamento

  1. Faça login no PAI console e acesse a página do DSW.

  2. Na lista de instâncias, clique no nome da instância desejada com DinD habilitado para ir à página de detalhes da instância.

  3. Na página de detalhes da instância, clique na aba Sub-container Management.

Nota

A aba Running fica visível apenas quando o contêiner principal do DSW está em estado Running.

Criar um sub-contêiner

Na página Sub-container Management, clique em Create Sub-container e preencha os seguintes parâmetros no formulário de criação.

Informações básicas

Parâmetro

Obrigatório

Descrição

Exemplo

Container name

Sim

Especifique um nome fácil de reconhecer para o sub-contêiner.

my-container

Hostname

Não

Defina um hostname personalizado para o sub-contêiner.

my-host

Restart policy

Não

Configure a política de reinicialização automática a ser aplicada quando o contêiner for encerrado.

Do not restart automatically

Informações de ambiente

Parâmetro

Obrigatório

Descrição

Exemplo

Image configuration

Sim

Selecione a imagem para o sub-contêiner. Há dois métodos compatíveis:

  • Custom Image: Selecione uma imagem personalizada já registrada no PAI.

  • Image URL: Insira a URL completa do repositório de imagens. Se utilizar um repositório privado, forneça as credenciais.

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

SSH public key

Sim

Insira a chave pública SSH do seu cliente local. Você usará esta chave para fazer login no sub-contêiner via SSH.

Se ainda não gerou um par de chaves SSH, execute ssh-keygen -t rsa -b 4096 no seu terminal local. Por padrão, a chave pública é salva em ~/.ssh/id_rsa.pub.

Main container mounts

Não

Para instâncias com disco de sistema persistente, um sub-contêiner pode montar qualquer caminho do contêiner principal. Para instâncias sem disco de sistema persistente, o sub-contêiner só pode montar caminhos de armazenamento e datasets já montados pelo contêiner principal.

Dataset mounts

Não

É possível montar apenas datasets já montados pelo contêiner principal.

Environment variables

Não

Defina variáveis de ambiente personalizadas para o sub-contêiner no formato chave-valor.

ENV=prod

Startup command

Não

Especifique um comando personalizado para executar quando o contêiner iniciar.

python app.py

Entrypoint

Não

Defina um entrypoint personalizado para o contêiner.

/bin/bash

Informações de recursos

Parâmetro

Obrigatório

Descrição

Exemplo

GPU device mounts

Não

Se a instância DSW possuir recursos GPU, selecione quais dispositivos GPU montar ao criar o sub-contêiner. O sistema lista todas as placas GPU disponíveis e seus números de dispositivo. É possível selecionar vários dispositivos.

Os dispositivos GPU selecionados são montados no sub-contêiner para uso.

CPU limit

Não

Defina o uso máximo de CPU para o sub-contêiner. Se deixado em branco, nenhum limite é estabelecido e o sub-contêiner pode consumir outros recursos ociosos da instância.

8 cores

Memory limit

Não

Estabeleça o uso máximo de memória para o sub-contêiner. Se deixado em branco, não há limite definido e o sub-contêiner pode utilizar outros recursos ociosos da instância.

48 GiB

Após concluir a configuração, clique em Confirm para criar o sub-contêiner. Acompanhe o progresso da criação clicando em Child Container Creation Progress na página Sub-container Management.

Gerenciar sub-contêineres

Na lista de sub-contêineres, a coluna de ações oferece as seguintes operações:

Você só pode gerenciar os sub-contêineres que criou.
  • Start: Inicia um sub-contêiner parado.

  • Stop: Interrompe um sub-contêiner em execução. Os processos dentro do contêiner são encerrados, mas a configuração do contêiner e os dados de armazenamento montados são preservados.

  • Restart: Reinicia um sub-contêiner em execução. Equivale a parar e iniciá-lo novamente.

  • Log: Visualize os logs de execução do sub-contêiner para solução de problemas.

  • SSH Connection Information: Consulte os detalhes de conexão SSH do sub-contêiner, incluindo o nome de usuário e o comando de conexão.

  • Delete: Exclui o sub-contêiner. Dados não persistidos por meio de montagem de armazenamento serão perdidos permanentemente. Proceda com cautela.

Lista de sub-contêineres

Ao acessar a página Sub-container Management, o sistema exibe uma lista de todos os sub-contêineres na instância atual com as seguintes informações:

Campo

Descrição

Container name

Nome do sub-contêiner.

User name

Nome de usuário de quem criou o sub-contêiner.

Status

Estado atual, incluindo: Creating (pulling image), Created, Running, Paused, Restarting, Stopped, Starting, Stopping e Updating.

Video memory (GiB)

Número do dispositivo GPU e uso de memória de vídeo.

CPU resources

Utilização da CPU e contagem de núcleos.

Memory (GiB)

Uso de memória.

Container image

Imagem utilizada pelo sub-contêiner.

Creation time

Horário de criação do sub-contêiner.

Todos os usuários com permissões de leitura na instância DSW podem visualizar a lista completa de sub-contêineres, mas só podem gerenciar (iniciar, parar ou excluir) os sub-contêineres que criaram.

Lista de tarefas de criação

A criação de um sub-contêiner pode levar tempo, especialmente ao baixar imagens grandes. O sistema oferece uma forma de acompanhar as tarefas de criação.

No canto superior direito da página Sub-container Management, clique em Child Container Creation Progress para visualizar o status e os logs de todas as tarefas de criação de contêineres. Tarefas em estado "Creating" podem ser interrompidas manualmente. Os registros de tarefas são excluídos automaticamente após 3 dias.

Conectar via SSH

Depois que um sub-contêiner for criado e estiver em execução, conecte-se a ele remotamente via SSH.

Procedimento

  1. Na lista de sub-contêineres, localize o sub-contêiner desejado e clique em SSH Connection Information na coluna de ações. Uma caixa de diálogo será aberta, exibindo o nome de usuário e o comando completo de conexão.

  2. Execute o comando de conexão no seu terminal local para fazer login no sub-contêiner. O formato do comando é o seguinte:

ssh <connection_username>@<instance_public_address> -p 22 -i <local_private_key_path>

A tabela a seguir descreve os parâmetros.

Parâmetro

Descrição

Connection username

O nome de usuário é gerado automaticamente e vinculado a um sub-contêiner específico. Ele é exibido na caixa de diálogo SSH Connection Information.

Instance public address

Endereço IP público do contêiner principal do DSW.

Local private key path

Caminho para o arquivo de chave privada local correspondente à chave pública SSH fornecida durante a criação do sub-contêiner (por exemplo, ~/.ssh/id_rsa).

Após um login SSH bem-sucedido, você estará conectado diretamente ao ambiente de linha de comando do sub-contêiner. Todos os sub-contêineres compartilham a porta 22 do contêiner principal do DSW, mas o acesso é isolado por meio de chaves SSH exclusivas e nomes de usuário dedicados.

Limitações e considerações

  • Dependência do status do contêiner principal: Todas as capacidades de gerenciamento de sub-contêineres dependem do estado de execução do contêiner principal do DSW. Se o contêiner principal for parado ou encontrar um erro, a página Sub-container Management ficará indisponível e os sub-contêineres não poderão ser acessados.

  • Escopo de montagem de armazenamento: Sub-contêineres só podem montar diretórios de dentro do contêiner principal. Eles não podem montar armazenamento externo diretamente.

  • Limite de sub-contêineres: O número de sub-contêineres por instância é limitado pelo máximo configurado pelo administrador, que pode chegar a 16.

  • Escopo de recursos: Sub-contêineres não oferecem todas as capacidades de desenvolvimento de um contêiner principal DSW, como aplicativos integrados tipo JupyterLab, Terminal ou WebIDE. O acesso é feito via SSH.

  • Persistência de dados: Quando um sub-contêiner é excluído, quaisquer dados não salvos em um diretório montado são perdidos permanentemente. Armazene dados importantes em diretórios montados.

  • Efeito da exclusão da instância: Ao excluir uma instância DSW, todos os seus sub-contêineres também são excluídos. Faça backup dos seus dados antes de excluir uma instância.

Perguntas frequentes

P: Por que a aba "Sub-container management" está ausente?

R: Verifique os seguintes pontos:

  1. A instância DSW foi criada com o recurso Enable Multi-Container Isolation (DinD) ativado.

  2. O contêiner principal do DSW está atualmente no estado Running. A aba Sub-container Management não é exibida quando o contêiner principal não está em execução.

P: Por que não consigo montar um diretório de dados?

R: Isso pode ocorrer porque o administrador da instância configurou uma política de isolamento de diretórios de dados e sua conta Alibaba Cloud não recebeu nenhum diretório disponível no arquivo de configuração. Entre em contato com o administrador da instância para adicionar uma configuração para sua conta no arquivo mount_access.json.

P: Por que minha conexão SSH está falhando?

R: Verifique os seguintes itens nesta ordem:

  1. Certifique-se de que o sub-contêiner está no estado Running.

  2. Confirme se a chave privada local que você está usando corresponde à chave pública fornecida ao criar o sub-contêiner.

  3. Verifique se o recurso SSH está habilitado para a instância DSW.

  4. Assegure-se de que sua rede permite acesso ao endereço IP público da instância na porta 22.

P: Por que a criação do sub-contêiner está lenta?

R: O tempo de criação depende principalmente da velocidade de download da imagem. Baixar uma imagem grande pela primeira vez pode demorar. Consulte o progresso e os logs na lista de tarefas de criação. Contêineres subsequentes que usam a mesma imagem são criados muito mais rápido porque a imagem é armazenada em cache localmente.

P: Posso gerenciar sub-contêineres de outro usuário?

R: Por padrão, você só pode gerenciar sub-contêineres que criou, mas consegue visualizar informações básicas de todos os sub-contêineres. Para gerenciar sub-contêineres criados por outros, um administrador deve conceder as permissões necessárias por meio de uma política RAM.