Tous les produits
Search
Centre de documentation

Platform For AI:Gestion des sous-conteneurs (DockerBoard)

Dernière mise à jour :Aug 25, 2026

Les sous-conteneurs DSW utilisent la technologie Docker in Docker (DinD) pour créer et gérer plusieurs conteneurs secondaires au sein d'une seule instance DSW, ce qui permet d'isoler les environnements et de gérer les ressources. La console offre une interface visuelle pour créer, démarrer, arrêter et supprimer des sous-conteneurs, ainsi que pour y accéder à distance via SSH.

Cas d'utilisation

  • Isolez différents environnements de développement au sein de la même instance DSW afin de comparer et de valider les résultats d'entraînement sur différentes images.

  • Lorsque les ressources GPU sont limitées, changez d'environnement d'exécution en créant des sous-conteneurs avec différentes images. Cette approche évite de devoir reconstruire l'instance et de se remettre en file d'attente.

  • Les sous-conteneurs permettent à plusieurs utilisateurs de partager une seule instance DSW tout en maintenant l'isolation des environnements et des ressources entre eux.

Prérequis

  • La fonctionnalité de sous-conteneur est prise en charge uniquement sur les instances DSW créées à partir d'un groupe de ressources Lingjun ou d'un groupe de ressources polyvalent version 1.0.

  • L'administrateur de l'instance (le créateur de l'instance ou le propriétaire) doit disposer des autorisations nécessaires pour créer et gérer des instances DSW.

  • L'instance DSW doit avoir la fonctionnalité Enable Multi-Container Isolation (DinD) activée lors de sa création.

  • Si vous devez accéder aux sous-conteneurs via SSH, la fonctionnalité SSH doit également être activée pour l'instance DSW.

Rôles et autorisations

La gestion des sous-conteneurs implique deux rôles :

  • Administrateur de l'instance (Owner) : Créateur de l'instance DSW. Ce rôle gère les configurations au niveau de l'instance, telles que l'activation de DinD, la configuration des restrictions d'accès, la définition du nombre maximal de sous-conteneurs et l'établissement des règles d'isolation des répertoires de données.

  • Développeur de sous-conteneurs : Utilisateur disposant d'un rôle d'espace de travail correspondant (tel que Algorithm Development) ou d'autorisations RAM. Ce rôle peut consulter la liste des sous-conteneurs, en créer et s'y connecter via SSH. Les développeurs peuvent démarrer, arrêter ou supprimer uniquement les sous-conteneurs qu'ils ont créés, mais ils peuvent consulter les informations relatives à tous les sous-conteneurs.

Deux méthodes sont disponibles pour le contrôle des autorisations :

  • Contrôle basé sur le rôle de l'espace de travail : L'administrateur de l'instance peut restreindre l'accès au conteneur principal pour certains rôles, tels que Algorithm Development. Les utilisateurs dont le rôle est restreint ne peuvent effectuer des travaux de développement que dans les sous-conteneurs. Cette méthode est simple et convient à la plupart des scénarios.

  • Contrôle basé sur la politique RAM : En configurant une politique RAM, vous pouvez obtenir un contrôle plus fin des autorisations, jusqu'au niveau d'un sous-conteneur spécifique d'une instance donnée. Cette méthode convient aux entreprises ayant des exigences de sécurité strictes.

Opérations de l'administrateur

Activer l'isolation multi-conteneurs

  1. Connectez-vous à la console PAI, accédez à la page DSW, puis cliquez sur Create Instance.

  2. Dans les paramètres de configuration de l'instance, localisez et activez l'option Enable Multi-Container Isolation (DinD).

  3. Une fois cette option activée, les paramètres suivants s'affichent :

    • Restrict roles that can access the main container : Dans la liste déroulante, sélectionnez les rôles d'espace de travail à restreindre. Les utilisateurs dotés d'un rôle restreint ne peuvent pas ouvrir ni utiliser directement le conteneur principal DSW ; ils doivent se connecter à un sous-conteneur via SSH pour effectuer leurs travaux de développement.

      Par exemple, si vous sélectionnez Algorithm Development, les utilisateurs ayant ce rôle ne peuvent pas accéder au conteneur principal. Toutefois, ils peuvent toujours créer et utiliser leurs propres sous-conteneurs dans l'onglet Sub-container Management de la page des détails de l'instance.

      Si vous ne sélectionnez aucun rôle, tous les utilisateurs autorisés peuvent accéder au conteneur principal comme auparavant, conformément au comportement existant.

    • Maximum Number of Sub-containers : Définissez le nombre maximal de sous-conteneurs pouvant être créés pour l'instance. Vous pouvez saisir un entier compris entre 1 et 16. La valeur par défaut est 10.

    • Data Catalog Fencing Configuration : Spécifiez le chemin d'accès au fichier de configuration d'isolation des répertoires de données dans le conteneur principal. Le chemin par défaut est /etc/docker/dockerboard/mount_access.json. Ce fichier contrôle les répertoires de données que les utilisateurs peuvent monter lors de la création de sous-conteneurs. Cliquez sur Configuration Template Download pour télécharger le modèle. Pour connaître les étapes de configuration, consultez la section Configurer l'isolation des répertoires de données.

  4. Terminez la configuration restante de l'instance, puis cliquez sur Create Instance.

Configurer l'isolation des répertoires de données

L'isolation des répertoires de données contrôle les répertoires que les développeurs peuvent monter lors de la création de sous-conteneurs, empêchant ainsi l'accès aux données de stockage situées en dehors de leur périmètre autorisé.

Procédure

  1. Sur la page de création ou de modification de l'instance, cliquez sur le lien Data Catalog Fencing Configuration situé sous Configuration Template Download pour obtenir le fichier modèle JSON.

  2. Suivez le format du modèle pour mapper chaque UID de sous-compte Alibaba Cloud aux répertoires du conteneur principal DSW auxquels l'utilisateur est autorisé à accéder.

  3. Placez le fichier mount_access.json modifié à l'emplacement spécifié par le chemin de configuration dans le conteneur principal DSW. L'emplacement par défaut est /etc/docker/dockerboard/mount_access.json.

Format du fichier de configuration

Le fichier de configuration est au format JSON et utilise l'UID du sous-compte Alibaba Cloud comme clé. Pour chaque utilisateur, vous pouvez configurer Allow (répertoires de montage autorisés) et Deny (répertoires de montage refusés). Voici un exemple :

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

Le tableau suivant décrit les champs.

Champ

Description

Clé (par exemple, 123124432xxx)

L'UID du sous-compte Alibaba Cloud.

Allow

Liste des répertoires du conteneur principal que l'utilisateur est autorisé à monter. Définissez cette valeur sur "*" pour autoriser le montage de tous les répertoires.

Deny

Liste des répertoires du conteneur principal dont le montage est interdit à l'utilisateur. Deny est prioritaire sur Allow. Si un répertoire figure dans les deux listes, l'utilisateur ne peut pas le monter. Ce champ peut être omis.

Règles d'application de la configuration

  • Si le fichier de configuration existe et est valide, le système vérifie si l'utilisateur dispose de l'autorisation de monter les répertoires sélectionnés lors de la création d'un sous-conteneur.

  • Si aucun enregistrement n'est trouvé pour l'utilisateur dans le fichier de configuration, celui-ci ne peut monter aucun répertoire de données lors de la création d'un sous-conteneur. La page affiche le message suivant : « 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. »

  • Si le chemin du fichier de configuration est vide ou si le fichier n'existe pas, le système n'effectue aucune vérification d'isolation des répertoires et tous les utilisateurs peuvent monter n'importe quel répertoire du conteneur principal.

Pour les développeurs

Accéder à la page de gestion

  1. Connectez-vous à la console PAI et accédez à la page DSW.

  2. Dans la liste des instances, cliquez sur le nom de l'instance cible pour laquelle DinD est activé afin d'accéder à la page des détails de l'instance.

  3. Sur la page des détails de l'instance, cliquez sur l'onglet Sub-container Management.

Remarque

L'onglet Running n'est visible que lorsque le conteneur principal DSW est à l'état Running.

Créer un sous-conteneur

Sur la page Sub-container Management, cliquez sur Create Sub-container et renseignez les paramètres suivants dans le formulaire de création.

Informations de base

Paramètre

Obligatoire

Description

Exemple

Nom du conteneur

Oui

Spécifiez un nom facile à reconnaître pour le sous-conteneur.

my-container

Nom d'hôte

Non

Spécifiez un nom d'hôte personnalisé pour le sous-conteneur.

my-host

Politique de redémarrage

Non

Définissez la politique de redémarrage automatique à appliquer lorsque le conteneur s'arrête.

Ne pas redémarrer automatiquement

Informations sur l'environnement

Paramètre

Obligatoire

Description

Exemple

Configuration de l'image

Oui

Sélectionnez l'image pour le sous-conteneur. Deux méthodes sont prises en charge :

  • Image personnalisée : sélectionnez une image personnalisée déjà enregistrée auprès de PAI.

  • URL de l'image : saisissez l'URL complète du dépôt d'images. Si vous utilisez un dépôt privé, vous devez fournir des identifiants.

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

Clé publique SSH

Oui

Saisissez la clé publique SSH de votre client local. Vous utiliserez cette clé pour vous connecter au sous-conteneur via SSH.

Si vous n'avez pas généré de paire de clés SSH, exécutez ssh-keygen -t rsa -b 4096 dans votre terminal local. Par défaut, la clé publique est enregistrée dans ~/.ssh/id_rsa.pub.

Montages du conteneur principal

Non

Pour les instances dotées d'un disque système persistant, un sous-conteneur peut monter n'importe quel chemin d'accès du conteneur principal. Pour les instances sans disque système persistant, un sous-conteneur ne peut monter que les chemins de stockage et les ensembles de données déjà montés par le conteneur principal.

Montages d'ensembles de données

Non

Vous ne pouvez monter que les ensembles de données déjà montés par le conteneur principal.

Variables d'environnement

Non

Définissez des variables d'environnement personnalisées pour le sous-conteneur au format clé-valeur.

ENV=prod

Commande de démarrage

Non

Spécifiez une commande personnalisée à exécuter au démarrage du conteneur.

python app.py

Point d'entrée

Non

Spécifiez un point d'entrée personnalisé pour le conteneur.

/bin/bash

Informations sur les ressources

Paramètre

Obligatoire

Description

Exemple

Montages de périphériques GPU

Non

Si l'instance DSW est équipée de ressources GPU, vous pouvez sélectionner les périphériques GPU à monter lors de la création d'un sous-conteneur. Le système répertorie toutes les cartes GPU disponibles et leurs numéros de périphérique. Vous pouvez sélectionner plusieurs périphériques.

Les périphériques GPU sélectionnés sont montés dans le sous-conteneur pour utilisation.

Limite CPU

Non

Définissez l'utilisation maximale du CPU pour le sous-conteneur. Si ce champ est laissé vide, aucune limite n'est définie et le sous-conteneur peut consommer d'autres ressources inactives de l'instance.

8 cœurs

Limite de mémoire

Non

Définissez l'utilisation maximale de la mémoire pour le sous-conteneur. Si ce champ est laissé vide, aucune limite n'est définie et le sous-conteneur peut consommer d'autres ressources inactives de l'instance.

48 GiB

Une fois la configuration terminée, cliquez sur Confirm pour créer le sous-conteneur. Vous pouvez consulter la progression de la création en cliquant sur Child Container Creation Progress sur la page Sub-container Management.

Gérer les sous-conteneurs

Dans la liste des sous-conteneurs, la colonne Actions propose les opérations suivantes :

Vous ne pouvez gérer que les sous-conteneurs que vous avez créés.
  • Start : démarre un sous-conteneur à l'état arrêté.

  • Stop : arrête un sous-conteneur en cours d'exécution. Les processus à l'intérieur du conteneur sont terminés, mais la configuration du conteneur et les données de stockage montées sont conservées.

  • Restart : redémarre un sous-conteneur en cours d'exécution. Cela équivaut à l'arrêter puis à le démarrer.

  • Log : consultez les journaux d'exécution du sous-conteneur pour le dépannage.

  • SSH Connection Information : consultez les détails de la connexion SSH pour le sous-conteneur, y compris le nom d'utilisateur de connexion et la commande.

  • Delete : supprime le sous-conteneur. Les données non persistantes via un montage de stockage sont définitivement perdues. Procédez avec prudence.

Liste des sous-conteneurs

Après avoir accédé à la page Sub-container Management, une liste de tous les sous-conteneurs de l'instance actuelle s'affiche, montrant les informations suivantes :

Remarque

La liste affiche uniquement les sous-conteneurs créés sur la page Sub-container Management. Elle n'inclut pas les sous-conteneurs que vous avez créés manuellement en exécutant des commandes Docker.

Champ

Description

Nom du conteneur

Le nom du sous-conteneur.

Nom d'utilisateur

Le nom d'utilisateur de l'utilisateur qui a créé le sous-conteneur.

État

L'état actuel, notamment : Creating (téléchargement de l'image), Created, Running, Paused, Restarting, Stopped, Starting, Stopping et Updating.

Mémoire vidéo (GiB)

Le numéro du périphérique GPU et l'utilisation de la mémoire vidéo.

Ressources CPU

L'utilisation du CPU et le nombre de cœurs.

Mémoire (GiB)

L'utilisation de la mémoire.

Image du conteneur

L'image utilisée par le sous-conteneur.

Heure de création

L'heure à laquelle le sous-conteneur a été créé.

Tous les utilisateurs disposant d'autorisations de lecture sur l'instance DSW peuvent consulter la liste complète des sous-conteneurs, mais ne peuvent gérer (démarrer, arrêter ou supprimer) que les sous-conteneurs qu'ils ont créés.

Liste des tâches de création

La création d'un sous-conteneur peut prendre du temps, en particulier lors du téléchargement d'images volumineuses. Le système fournit un moyen de suivre les tâches de création.

Dans le coin supérieur droit de la page Sub-container Management, cliquez sur Child Container Creation Progress pour afficher l'état et les journaux de toutes les tâches de création de conteneurs. Vous pouvez arrêter manuellement les tâches à l'état « Creating ». Les enregistrements de tâches sont automatiquement supprimés après 3 jours.

Se connecter via SSH

Une fois un sous-conteneur créé et en cours d'exécution, vous pouvez vous y connecter à distance via SSH.

Procédure

  1. Dans la liste des sous-conteneurs, recherchez le sous-conteneur cible et cliquez sur SSH Connection Information dans la colonne Actions. Une boîte de dialogue s'ouvre, affichant le nom d'utilisateur de connexion et la commande de connexion complète.

  2. Exécutez la commande de connexion dans votre terminal local pour vous connecter au sous-conteneur. Le format de la commande est le suivant :

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

Le tableau suivant décrit les paramètres.

Paramètre

Description

Nom d'utilisateur de connexion

Le nom d'utilisateur est généré automatiquement et lié à un sous-conteneur spécifique. Il s'affiche dans la boîte de dialogue SSH Connection Information.

Adresse publique de l'instance

L'adresse IP publique du conteneur principal DSW.

Chemin de la clé privée locale

Le chemin d'accès au fichier de clé privée local correspondant à la clé publique SSH que vous avez fournie lors de la création du sous-conteneur (par exemple, ~/.ssh/id_rsa).

Après une connexion SSH réussie, vous êtes connecté directement à l'environnement de ligne de commande du sous-conteneur. Tous les sous-conteneurs partagent le port 22 du conteneur principal DSW, mais l'accès est isolé grâce à des clés SSH uniques et des noms d'utilisateur dédiés.

Limites et considérations

  • Dépendance à l'état du conteneur principal : toutes les fonctionnalités de gestion des sous-conteneurs dépendent de l'état d'exécution du conteneur principal DSW. Si le conteneur principal est arrêté ou rencontre une erreur, la page Sub-container Management devient indisponible et les sous-conteneurs ne sont pas accessibles.

  • Portée du montage de stockage : les sous-conteneurs ne peuvent monter que des répertoires depuis le conteneur principal. Ils ne peuvent pas monter directement un stockage externe.

  • Limite de sous-conteneurs : le nombre de sous-conteneurs par instance est limité par le maximum configuré par l'administrateur, qui peut aller jusqu'à 16.

  • Portée des fonctionnalités : les sous-conteneurs ne fournissent pas toutes les capacités de développement d'un conteneur principal DSW, telles que les applications intégrées comme JupyterLab, Terminal ou WebIDE. Ils sont accessibles via SSH.

  • Persistance des données : lorsqu'un sous-conteneur est supprimé, toutes les données non enregistrées dans un répertoire monté sont définitivement perdues. Stockez les données importantes dans des répertoires montés.

  • Effet de la suppression de l'instance : lorsqu'une instance DSW est supprimée, tous ses sous-conteneurs sont également supprimés. Sauvegardez vos données avant de supprimer une instance.

FAQ

Q : Pourquoi l'onglet « Sub-container management » est-il absent ?

R : Veuillez vérifier les points suivants :

  1. L'instance DSW a été créée avec la fonctionnalité Enable Multi-Container Isolation (DinD) activée.

  2. Le conteneur principal DSW est actuellement à l'état Running. L'onglet Sub-container Management ne s'affiche pas lorsque le conteneur principal n'est pas en cours d'exécution.

Q : Pourquoi ne puis-je pas monter un répertoire de données ?

R : Cela peut être dû au fait que l'administrateur de l'instance a configuré une politique d'isolation des répertoires de données et que votre compte Alibaba Cloud n'a reçu aucun répertoire disponible dans le fichier de configuration. Contactez l'administrateur de l'instance pour ajouter une configuration pour votre compte dans le fichier mount_access.json.

Q : Pourquoi ma connexion SSH échoue-t-elle ?

R : Veuillez vérifier les points suivants dans l'ordre :

  1. Assurez-vous que le sous-conteneur est à l'état Running.

  2. Assurez-vous que la clé privée locale que vous utilisez correspond à la clé publique que vous avez fournie lors de la création du sous-conteneur.

  3. Assurez-vous que la fonctionnalité SSH est activée pour l'instance DSW.

  4. Assurez-vous que votre réseau autorise l'accès à l'adresse IP publique de l'instance sur le port 22.

Q : Pourquoi la création de sous-conteneurs est-elle lente ?

R : Le temps de création dépend principalement de la vitesse de téléchargement de l'image. Le premier téléchargement d'une image volumineuse peut prendre un certain temps. Vous pouvez vérifier la progression et les journaux dans la liste des tâches de création. Les conteneurs suivants utilisant la même image sont créés beaucoup plus rapidement car l'image est mise en cache localement.

Q : Puis-je gérer les sous-conteneurs d'un autre utilisateur ?

R : Par défaut, vous ne pouvez gérer que les sous-conteneurs que vous avez créés, mais vous pouvez consulter les informations de base de tous les sous-conteneurs. Pour gérer les sous-conteneurs créés par d'autres personnes, un administrateur doit vous accorder les autorisations nécessaires via une politique RAM.