Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bieten Sie Benutzern Zugriff auf benutzerdefinierte Bilder
Diese Dokumentation enthält step-by-step Anweisungen, wie Sie Ihren Benutzern Zugriff auf benutzerdefinierte Bilder für ihre Code-Editor-Umgebungen gewähren können. Sie können die Informationen auf dieser Seite verwenden, um benutzerdefinierte Umgebungen für die Workflows Ihrer Benutzer zu erstellen. Der Prozess beinhaltet die Verwendung von:
-
Docker
-
AWS Command Line Interface
-
Amazon Elastic Container Registry
-
Amazon SageMaker AWS Management Console
Nachdem sie die Anweisungen auf dieser Seite befolgt haben, haben Code Editor-Benutzer auf der SageMaker Amazon-Domain von ihren Code-Editor-Bereichen aus Zugriff auf das benutzerdefinierte Image und die Umgebung, um ihre maschinellen Lern-Workflows zu unterstützen.
Wichtig
Auf dieser Seite wird davon ausgegangen, dass Sie das AWS Command Line Interface und auf Ihrem lokalen Computer Docker installiert haben.
Damit Ihre Benutzer ihr Image erfolgreich im Code-Editor ausführen können, müssen Sie wie folgt vorgehen:
Damit Ihre Benutzer das Image erfolgreich ausführen
-
Erstellen Sie das Dockerfile
-
Erstellen Sie das Image aus dem Dockerfile
-
Laden Sie das Bild in Amazon Elastic Container Registry hoch
-
Hängen Sie das Bild an Ihre SageMaker Amazon-Domain an
-
Lassen Sie Ihre Benutzer von ihrem Code-Editor-Bereich aus auf das Bild zugreifen
Schritt 1: Erstellen Sie das Dockerfile
Erstellen Sie ein Dockerfile, um die Schritte zu definieren, die zum Erstellen der Umgebung erforderlich sind, die für die Ausführung der Anwendung im Container Ihres Benutzers erforderlich ist.
Wichtig
Ihr Dockerfile muss die unter angegebenen Spezifikationen erfüllen. Dockerfile-Spezifikationen
Beispiele für Dockerfiles im richtigen Format finden Sie unter. Dockerfile-Beispiele
Schritt 2: Erstellen Sie das Dockerfile
Erstellen Sie Ihr Image im selben Verzeichnis wie Ihr Dockerfile mit dem folgenden Befehl:
docker build -t username/imagename:tag your-account-id.dkr.ecr.
AWS-Region
.amazonaws.com/your-repository-name
:tag
Wichtig
Ihr Bild muss im folgenden Format markiert sein: 123456789012
.dkr.ecr.your-region.amazonaws.com/your-repository-name
:tag
Andernfalls können Sie es nicht in ein Amazon Elastic Container Registry-Repository übertragen.
Schritt 3: Push des Images in das Amazon Elastic Container Registry-Repository
Nachdem Sie Ihr Image erstellt haben, melden Sie sich mit dem folgenden Befehl bei Ihrem ECR Amazon-Repository an:
aws ecr get-login-password --region
AWS-Region
| docker login --username AWS --password-stdin123456789012
.dkr.ecr.AWS-Region
.amazonaws.com
Nachdem Sie sich angemeldet haben, übertragen Sie Ihr Dockerfile mit dem folgenden Befehl:
docker push
123456789012
.dkr.ecr.AWS-Region
.amazonaws.com/your-repository-name
:tag
Schritt 4: Hängen Sie ein Bild an die SageMaker Amazon-Domain Ihrer Benutzer an
Nachdem Sie das Bild übertragen haben, müssen Sie von Ihrer SageMaker Amazon-Domain aus entweder über die SageMaker Konsole oder über das darauf zugreifen AWS CLI.
Hängen Sie das Bild über die SageMaker Konsole an
Gehen Sie wie folgt vor, um das Image über die SageMaker Konsole an eine SageMaker Domain anzuhängen:
-
Öffnen Sie die SageMaker Konsole
. -
Wählen Sie unter Admin-Konfigurationen Domains aus.
-
Wählen Sie aus der Liste der Domänen eine Domäne aus.
-
Öffnen Sie die Registerkarte Umgebung.
-
Wählen Sie für Benutzerdefinierte Bilder für persönliche Studio-Apps die Option Bild anhängen.
-
Geben Sie die Bildquelle an. Sie können ein neues Bild erstellen oder ein vorhandenes Bild auswählen.
-
Wählen Sie Weiter.
-
Wählen Sie den Code-Editor als Anwendungstyp.
-
Wählen Sie Absenden aus.
Hängen Sie das Bild an, indem Sie AWS CLI
Gehen Sie wie folgt vor, um das Bild über eine SageMaker Domain anzuhängen AWS CLI :
-
Erstellen Sie ein SageMaker Bild. Der Rolle ARN muss die
AmazonSageMakerFullAccess
Richtlinie angehängt sein.aws sagemaker create-image \ --image-name
code-editor-custom-image
\ --role-arn arn:aws:iam::account-id
:role/service-role/execution-role
-
Erstellen Sie eine SageMaker Image-Version aus dem Image. Übergeben Sie den eindeutigen Tag-Wert, den Sie ausgewählt haben, als Sie das Bild an Amazon gesendet habenECR.
aws sagemaker create-image-version \ --image-name code-editor-custom-image \ --base-image
repository-uri
:tag
-
Erstellen Sie eine Konfigurationsdatei mit dem Namen
app-image-config-input.json
. Die Konfiguration des Anwendungs-Images wird als Konfiguration für die Ausführung eines SageMaker Images als Code-Editor-Anwendung verwendet. Sie können hier auch IhreContainerConfig
Argumente angeben.{ "AppImageConfigName":
"code-editor-app-image-config"
, "CodeEditorAppImageConfig": { "ContainerConfig": {} } } -
Erstellen Sie das
AppImageConfig
mithilfe der Anwendungs-Image-Konfigurationsdatei, die Sie erstellt haben.aws sagemaker create-app-image-config \ --cli-input-json file://
app-image-config-input.json
-
Erstellen Sie eine Konfigurationsdatei mit dem Namen
updateDomain.json
. Achten Sie darauf, Ihre Domain-ID anzugeben.{ "DomainId":
"domain-id"
, "DefaultUserSettings": { "CodeEditorAppSettings": { "CustomImages": [ { "ImageName":"code-editor-custom-image"
, "AppImageConfigName":"code-editor-app-image-config"
} ] } } } -
Rufen Sie den
UpdateDomain
Befehl mit der Konfigurationsdatei als Eingabe auf.Anmerkung
Sie müssen alle Anwendungen in Ihrer Domain löschen, bevor Sie die Domain mit dem neuen Image aktualisieren. Beachten Sie, dass Sie nur Anwendungen löschen müssen. Benutzerprofile oder gemeinsam genutzte Bereiche müssen Sie nicht löschen. Um Anweisungen zum Löschen von Anwendungen zu erhalten, wählen Sie eine der folgenden Optionen.
-
Wenn Sie die SageMaker Konsole verwenden, führen Sie die Schritte 1 bis 5d und 6 bis 7d des Abschnitts Domäne löschen (Konsole) aus.
-
Wenn Sie die verwenden AWS CLI, führen Sie die Schritte 1 bis 3 des Abschnitts Eine Domäne löschen (AWS CLI) aus.
aws sagemaker update-domain --cli-input-json file://updateDomain.json
-
Schritt 5: Lassen Sie Ihre Benutzer von ihrem Code-Editor-Bereich aus auf das Bild zugreifen
Ihre Benutzer können jetzt das Bild, das Sie an ihre Domain angehängt haben, in ihrem Code-Editor-Bereich auswählen.
Weitere Informationen zur Auswahl eines benutzerdefinierten Bilds finden Sie unterStarten Sie eine Code-Editor-Anwendung in Studio.