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.
Dockerfile-Spezifikationen
Das Image, das Sie in Ihrem Dockerfile angeben, muss den Spezifikationen in den folgenden Abschnitten entsprechen, damit das Image erfolgreich erstellt werden kann.
Das Image wird ausgeführt
-
Entrypoint
— Wir empfehlen, den Einstiegspunkt mithilfe der Anweisungen oder in das Bild einzubetten. DockerCMD
Entrypoint
Sie können auch Dateien konfigurierenContainerEntrypoint
ContainerArguments
, die zur Laufzeit an den Container übergeben werden. Weitere Informationen finden Sie unterCodeEditorAppImageConfig
. -
EnvVariables
— Mit Studio können SieContainerEnvironment
Variablen konfigurieren, die einem Container zur Verfügung gestellt werden. Die Umgebungsvariable wird mit den Umgebungsvariablen von SageMaker überschrieben. Um Ihnen eine bessere Benutzererfahrung zu bieten, sind die Umgebungsvariablen in der RegelAWS_
Plattformumgebungen vorrangig.SageMaker_namespaced
Im Folgenden sind die Umgebungsvariablen aufgeführt:
-
AWS_REGION
-
AWS_DEFAULT_REGION
-
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
-
SAGEMAKER_SPACE_NAME
-
Spezifikationen für den Benutzer und das Dateisystem
-
WorkingDirectory
— Das EBS Amazon-Volume für Ihren Speicherplatz ist auf dem Pfad installiert/home/sagemaker-user
. Sie können den Bereitstellungspfad nicht ändern. Verwenden Sie dieWORKDIR
Anweisung, um das Arbeitsverzeichnis Ihres Images auf einen Ordner darin festzulegen/home/sagemaker-user
. -
UID
— Die Benutzer-ID des Docker Containers. UID=1000 ist ein unterstützter Wert. Sie können Ihren Benutzern Sudo-Zugriff hinzufügen. Sie IDs werden neu zugeordnet, um zu verhindern, dass ein im Container ausgeführter Prozess mehr Rechte 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. Sie IDs werden neu zugeordnet, um zu verhindern, dass ein im Container ausgeführter Prozess mehr Rechte als nötig hat. -
Metadatenverzeichnisse — Die
/opt/ml
Verzeichnisse/opt/.sagemakerinternal
und, die von AWS verwendet werden. Die Metadatendatei in/opt/ml
enthält Metadaten zu Ressourcen wieDomainId
.Verwenden Sie den folgenden Befehl, um den Inhalt des Dateisystems anzuzeigen:
cat /opt/ml/metadata/resource-metadata.json {"AppType":"CodeEditor","DomainId":"
example-domain-id
","UserProfileName":"example-user-profile-name
,"ResourceArn":"arn:aws:sagemaker:AWS-Region
:111122223333
;:app/domain-ID
/user-ID
/CodeEditor/default","ResourceName":"default","AppImageVersion":"current"} -
Protokollverzeichnisse —
/var/log/studio
sind für die Protokollierungsverzeichnisse des Code-Editors und die damit verbundenen Erweiterungen reserviert. Wir empfehlen, dass Sie die Ordner nicht bei der Erstellung Ihres Images verwenden.
Gesundheitscheck und URL für Bewerbungen
-
Base URL
— Die Grundlage URL für den BYOI Antrag muss seincodeeditor/default
. Sie können nur eine Anwendung haben und diese muss immer benannt seindefault
. -
Health Check-Endpunkt — Sie müssen Ihren Code Editor-Server auf 0.0.0.0-Port 8888 hosten, SageMaker damit er erkannt wird.
-
Authentifizierung — Sie müssen
--without-connection-token
beim Öffnen den Vorgang bestehensagemaker-code-editor
, um Ihre Benutzer authentifizieren SageMaker zu können.
Anmerkung
Wenn Sie Amazon SageMaker Distribution als Basis-Image verwenden, werden diese Anforderungen bereits als Teil des mitgelieferten entrypoint-code-editor
Skripts erfüllt.
Dockerfile-Beispiele
Im Folgenden finden Sie ein Dockerfile-Beispiel, das die in den vorherigen Abschnitten aufgeführten Spezifikationen erfüllt, um mithilfe einer Basisumgebung ein Image von Grund auf neu zu erstellen: micromamba
FROM mambaorg/micromamba:latest ARG NB_USER=
"sagemaker-user"
ARG NB_UID=1000 ARG NB_GID=100 USER root RUN micromamba install -y --name base -c conda-forge sagemaker-code-editor USER $NB_UID CMD eval"$(micromamba shell hook --shell=bash)"
; \ micromamba activate base; \ sagemaker-code-editor --host 0.0.0.0 --port 8888 \ --without-connection-token \ --base-path"/CodeEditor/default"
Im Folgenden finden Sie ein Dockerfile-Beispiel, das die in den vorherigen Abschnitten aufgeführten Spezifikationen erfüllt, um ein Image auf Basis von Amazon SageMaker
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 # install scrapy in the base environment RUN micromamba install -y --name base -c conda-forge scrapy # download VSCodeVim RUN \ wget https://github.com/VSCodeVim/Vim/releases/download/v1.27.2/vim-1.27.2.vsix \ -P /tmp/exts/ --no-check-certificate # Install the extension RUN \ extensionloc=/opt/
amazon/sagemaker/sagemaker-code-editor-server-data/extensions \ && sagemaker-code-editor \ --install-extension"/tmp/exts/vim-1.27.2.vsix"
\ --extensions-dir"${extensionloc}"
USER $MAMBA_USER ENTRYPOINT ["entrypoint-code-editor"
]