Spécifications d’images personnalisées - Amazon SageMaker AI

Spécifications d’images personnalisées

L’image que vous spécifiez dans votre fichier Docker doit correspondre aux spécifications des sections suivantes pour que l’image soit correctement créée.

Exécution de l’image

Les configurations suivantes peuvent être effectuées en mettant à jour votre ContainerConfig. Pour obtenir un exemple, consultez Mise à jour de la configuration du conteneur.

  • Entrypoint : vous pouvez configurer les paramètres ContainerEntrypoint et ContainerArguments qui sont transmis au conteneur lors de l’exécution. Nous vous recommandons de configurer votre point d’entrée à l’aide de ContainerConfig. Cliquez sur le lien ci-dessus pour consulter un exemple.

  • EnvVariables : lorsque vous utilisez Studio, vous pouvez définir des variables ContainerEnvironment personnalisées pour votre conteneur. Vous pouvez éventuellement mettre à jour vos variables environnementales à l’aide de ContainerConfig. Cliquez sur le lien ci-dessus pour consulter un exemple.

    Les variables d’environnement spécifiques à SageMaker AI sont prioritaires et remplaceront toutes les variables portant les mêmes noms. Par exemple, SageMaker AI fournit automatiquement des variables d’environnement dotées des préfixes AWS_ et SAGEMAKER_ afin de garantir une intégration correcte avec les services AWS et les fonctionnalités de SageMaker AI. Voici quelques exemples de variables d’environnement spécifiques à SageMaker AI :

    • AWS_ACCOUNT_ID

    • AWS_REGION

    • AWS_DEFAULT_REGION

    • AWS_CONTAINER_CREDENTIALS_RELATIVE_URI

    • SAGEMAKER_SPACE_NAME

    • SAGEMAKER_APP_TYPE

Spécifications pour l’utilisateur et le système de fichiers

  • WorkingDirectory : le volume Amazon EBS correspondant à votre espace est monté sur le chemin /home/sagemaker-user. Vous ne pouvez pas modifier le chemin de montage. Utilisez l’instruction WORKDIR pour définir le répertoire de travail de votre image sur un dossier au sein de /home/sagemaker-user.

  • UID : ID utilisateur du conteneur Docker. UID=1000 est une valeur prise en charge. Vous pouvez ajouter un accès sudo à vos utilisateurs. Les identifiants sont remappés pour empêcher un processus exécuté dans le conteneur de disposer de plus de privilèges que nécessaire.

  • GID : ID de groupe du conteneur Docker. GID=100 est une valeur prise en charge. Vous pouvez ajouter un accès sudo à vos utilisateurs. Les identifiants sont remappés pour empêcher un processus exécuté dans le conteneur de disposer de plus de privilèges que nécessaire.

  • Répertoires de métadonnées : les répertoires /opt/.sagemakerinternal et /opt/ml utilisés par AWS. Le fichier de métadonnées dans /opt/ml contient des métadonnées sur des ressources telles que DomainId.

    Utilisez la commande suivante pour afficher le contenu du système de fichiers :

    cat /opt/ml/metadata/resource-metadata.json
  • Répertoires de journalisation : /var/log/studio est réservé aux répertoires de journalisation de vos applications et aux extensions qui leur sont associées. Nous vous recommandons de ne pas utiliser ces dossiers pour créer votre image.

Surveillance de l’état et URL des applications

La surveillance de l’état et l’URL dépendent des applications. Choisissez le lien suivant associé à l’application pour laquelle vous générez l’image.

Exemples de fichiers Docker

Pour les exemples de fichiers Docker qui répondent à la fois aux exigences de cette page et aux besoins spécifiques de votre application, accédez aux exemples de fichiers Docker dans la section de l’application correspondante. Les options suivantes incluent les applications Amazon SageMaker Studio.

Note

Si vous apportez votre propre image dans SageMaker Unified Studio, vous devez suivre les spécifications des fichiers Docker du Guide de l’utilisateur Amazon SageMaker Unified Studio.

Vous trouverez des exemples de fichiers Dockerfile pour SageMaker Unified Studio dans Exemple de fichier Docker, dans le Guide de l’utilisateur Amazon SageMaker Unified Studio.