Gewähren Sie Benutzern Zugriff auf benutzerdefinierte Bilder - Amazon SageMaker

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.

Gewähren Sie Benutzern Zugriff auf benutzerdefinierte Bilder

Diese Dokumentation enthält step-by-step Anweisungen, wie Sie Ihren Benutzern Zugriff auf benutzerdefinierte Images in ihren JupyterLab 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 JupyterLab Benutzer der SageMaker Amazon-Domain den Anweisungen auf dieser Seite gefolgt sind, haben sie von ihren Jupyter-Bereichen aus Zugriff auf das benutzerdefinierte Image und die Umgebung, um ihre Workflows für maschinelles Lernen zu unterstützen.

Wichtig

Auf dieser Seite wird davon ausgegangen, dass Sie das und AWS Command Line Interface Docker auf Ihrem lokalen Computer installiert.

Damit Ihre Benutzer ihr Image erfolgreich darin ausführen können JupyterLab, müssen Sie wie folgt vorgehen:

Damit Ihre Benutzer das Image erfolgreich ausführen können
  1. Erstellen Sie das Dockerfile

  2. Erstellen Sie das Image aus dem Dockerfile

  3. Laden Sie das Bild in Amazon Elastic Container Registry hoch

  4. Hängen Sie das Bild an Ihre SageMaker Amazon-Domain an

  5. Lassen Sie Ihre Benutzer von Ihrem JupyterLab 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 in den Containern Ihrer Benutzer erforderlich ist.

Wichtig

Ihr Dockerfile muss die unter angegebenen Spezifikationen erfüllen. Dockerfile-Spezifikationen

Verwenden Sie die folgende Dockerfile-Vorlage, um ein Amazon Linux 2-Image zu erstellen:

FROM public.ecr.aws/amazonlinux/amazonlinux:2 ARG NB_USER="sagemaker-user" ARG NB_UID="1000" ARG NB_GID="100" RUN yum install --assumeyes python3 shadow-utils && \ useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \ yum clean all && \ python3 -m pip install jupyterlab RUN python3 -m pip install --upgrade pip RUN python3 -m pip install --upgrade urllib3==1.26.6 USER ${NB_UID} CMD jupyter lab --ip 0.0.0.0 --port 8888 \ --ServerApp.base_url="/jupyterlab/default" \ --ServerApp.token='' \ --ServerApp.allow_origin='*'

Verwenden Sie die folgende Dockerfile-Vorlage, um ein Amazon SageMaker Distribution Image zu erstellen:

FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 ENV MAMBA_USER=$NB_USER USER root RUN apt-get update RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base USER $MAMBA_USER ENTRYPOINT ["jupyter-lab"] CMD ["--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888", "--ServerApp.allow_origin=*", "--ServerApp.token=''", "--ServerApp.base_url=/jupyterlab/default"]

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-stdin 123456789012.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 darauf zugreifen. Gehen Sie wie folgt vor, um das Bild an eine SageMaker Domain anzuhängen:

  1. Öffnen Sie die SageMakerKonsole.

  2. Wählen Sie unter Admin-Konfigurationen die Option Domains aus.

  3. Wählen Sie aus der Liste der Domains eine Domain aus.

  4. Öffnen Sie die Registerkarte Umgebung.

  5. Wählen Sie für Benutzerdefinierte Bilder für persönliche Studio-Apps die Option Bild anhängen.

  6. Geben Sie die Bildquelle an.

  7. Wählen Sie Weiter.

  8. Wählen Sie Absenden.

Ihre Benutzer können jetzt das Bild, das Sie an ihre Domain angehängt haben, aus ihrem JupyterLab Bereich auswählen.