Benutzerdefinierte Image-Daten - Amazon SageMaker AI

Benutzerdefinierte Image-Daten

Das Image, das Sie in Ihrer Dockerfile-Datei angeben, muss den Spezifikationen in den folgenden Abschnitten entsprechen, damit das Image erfolgreich erstellt werden kann.

Das Image wird ausgeführt

Die folgenden Konfigurationen können vorgenommen werden, indem Sie Ihre ContainerConfig aktualisieren. Ein Beispiel finden Sie unter Aktualisieren der Container-Konfiguration.

  • Entrypoint: Sie können ContainerEntrypoint und ContainerArguments konfigurieren, die zur Laufzeit an den Container übergeben werden. Wir empfehlen, Ihren Einstiegspunkt mithilfe der ContainerConfig zu konfigurieren. Ein Beispiel finden Sie unter dem obigen Link.

  • EnvVariables: Wenn Sie Studio verwenden, können Sie benutzerdefinierte ContainerEnvironment-Variablen für Ihren Container festlegen. Sie können Ihre Umgebungsvariablen optional mit ContainerConfig aktualisieren. Ein Beispiel finden Sie unter dem obigen Link.

    SageMaker-spezifische Umgebungsvariablen haben Vorrang und überschreiben alle Variablen mit denselben Namen. Beispielsweise stellt SageMaker AI automatisch Umgebungsvariablen mit dem Präfix AWS_ und SAGEMAKER_ bereit, um eine ordnungsgemäße Integration mit AWS-Services und SageMaker-AI-Funktionen sicherzustellen. Im Folgenden finden Sie einige Beispiele für SageMaker-AI-spezifische Umgebungsvariablen:

    • AWS_ACCOUNT_ID

    • AWS_REGION

    • AWS_DEFAULT_REGION

    • AWS_CONTAINER_CREDENTIALS_RELATIVE_URI

    • SAGEMAKER_SPACE_NAME

    • SAGEMAKER_APP_TYPE

Spezifikationen für den Benutzer und das Dateisystem

  • WorkingDirectory: Das Amazon-EBS-Volume für Ihren Bereich ist unter dem Pfad /home/sagemaker-user gemountet. Sie können den Mount-Pfad nicht ändern. Verwenden Sie die WORKDIR-Anleitung, um das Arbeitsverzeichnis Ihres Images auf einen Ordner innerhalb von /home/sagemaker-user festzulegen.

  • UID: Die Benutzer-ID des Docker-Containers. UID=1000 ist ein unterstützter Wert. Sie können Ihren Benutzern sudo-Zugriff hinzufügen. Die IDs werden neu zugewiesen, um zu verhindern, dass ein im Container ausgeführter Prozess mehr Berechtigungen als nötig hat.

  • GID: Die Gruppen-ID des Docker-Containers. GID=100 ist ein unterstützter Wert. Sie können Ihren Benutzern sudo-Zugriff hinzufügen. Die IDs werden neu zugewiesen, um zu verhindern, dass ein im Container ausgeführter Prozess mehr Berechtigungen als nötig hat.

  • Metadatenverzeichnisse – Die /opt/.sagemakerinternal- und /opt/ml-Verzeichnisse, die von AWS verwendet werden. Die Metadatendatei in /opt/ml enthält Metadaten zu Ressourcen wie DomainId.

    Verwenden Sie den folgenden Befehl, um den Inhalt des Dateisystems anzuzeigen:

    cat /opt/ml/metadata/resource-metadata.json
  • Protokollverzeichnisse: /var/log/studio sind für die Protokollverzeichnisse Ihrer Anwendungen und die damit verbundenen Erweiterungen reserviert. Es wird empfohlen, diese Ordner nicht bei der Erstellung Ihres Images zu verwenden.

Zustandsprüfung und URL für Anwendungen

Die Zustandsprüfung und die URL hängen von den Anwendungen ab. Wählen Sie den folgenden Link aus, der mit der Anwendung verknüpft ist, für die Sie das Image erstellen.

Dockerfile-Beispiele

Dockerfile-Beispiele, die sowohl die Anforderungen auf dieser Seite als auch Ihre spezifischen Anwendungsanforderungen erfüllen, finden Sie unter den Beispiel-Dockerfiles im Abschnitt der jeweiligen Anwendung. Die folgenden Optionen umfassen Anwendungen von Amazon SageMaker Studio.

Anmerkung

Wenn Sie Ihr eigenes Image in SageMaker Unified Studio einbringen, müssen Sie die Dockerfile-Spezifikationen im Benutzerhandbuch für Amazon SageMaker Unified Studio befolgen.

Dockerfile-Beispiele für SageMaker Unified Studio finden Sie im Dockerfile-Beispiel im Benutzerhandbuch für Amazon SageMaker Unified Studio.