Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Specifiche dei file Dockerfile
L'immagine specificata nel Dockerfile deve corrispondere alle specifiche nelle sezioni seguenti per creare l'immagine correttamente.
Esecuzione dell'immagine
-
Entrypoint
— Consigliamo di incorporare il punto di ingresso nell'immagine utilizzando il DockerCMD
oEntrypoint
istruzioni. È inoltre possibileContainerEntrypoint
configurarli eContainerArguments
passarli al contenitore in fase di esecuzione. Per ulteriori informazioni, consultaCodeEditorAppImageConfig
. -
EnvVariables
— Con Studio, è possibile configurareContainerEnvironment
le variabili rese disponibili a un contenitore. La variabile di ambiente viene sovrascritta con le variabili di ambiente di SageMaker. Per offrirti un'esperienza migliore, le variabili di ambiente sono di solitoAWS_
e danno prioritàSageMaker_namespaced
agli ambienti della piattaforma.Le seguenti sono le variabili di ambiente:
-
AWS_REGION
-
AWS_DEFAULT_REGION
-
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
-
SAGEMAKER_SPACE_NAME
-
Specifiche per l'utente e il file system
-
WorkingDirectory
— Il EBS volume Amazon per il tuo spazio è montato sul percorso/home/sagemaker-user
. Non puoi modificare il percorso di montaggio. Utilizzate leWORKDIR
istruzioni per impostare la cartella di lavoro dell'immagine in una cartella all'interno/home/sagemaker-user
. -
UID
— L'ID utente del Docker contenitore. UID=1000 è un valore supportato. Puoi aggiungere l'accesso sudo ai tuoi utenti. IDsVengono rimappati per evitare che un processo in esecuzione nel contenitore abbia più privilegi del necessario. -
GID
— L'ID del gruppo di Docker contenitore. GID=100 è un valore supportato. Puoi aggiungere l'accesso sudo ai tuoi utenti. IDsVengono rimappati per evitare che un processo in esecuzione nel contenitore abbia più privilegi del necessario. -
Directory di metadati: le directory
/opt/.sagemakerinternal
e/opt/ml
le directory utilizzate da. AWS Il file di metadati/opt/ml
contiene metadati su risorse come.DomainId
Utilizzate il seguente comando per mostrare il contenuto del file system:
cat /opt/ml/metadata/resource-metadata.json {"AppType":"CodeEditor","DomainId":"
example-domain-id
","UserProfileName":"example-user-profile-name
,"ResourceArn":"arn:aws:sagemaker:Regione AWS
:111122223333
;:app/domain-ID
/user-ID
/CodeEditor/default","ResourceName":"default","AppImageVersion":"current"} -
Directory di registrazione:
/var/log/studio
sono riservate alle directory di registrazione di Code Editor e alle estensioni ad esse associate. Ti consigliamo di non utilizzare le cartelle per creare l'immagine.
Health check e URL candidature
-
Base URL
— La base della URL BYOI domanda deve esserecodeeditor/default
. È possibile avere una sola applicazione e deve sempre avere un nomedefault
. -
Endpoint Health check: è necessario ospitare il server Code Editor sulla porta 0.0.0.0 8888 per SageMaker rilevarlo.
-
Autenticazione: è necessario eseguire l'autenticazione
--without-connection-token
all'aperturasagemaker-code-editor
per consentire SageMaker l'autenticazione degli utenti.
Nota
Se utilizzi Amazon SageMaker Distribution come immagine di base, questi requisiti sono già soddisfatti come parte dello entrypoint-code-editor
script incluso.
Esempi di file Dockerfile
Di seguito è riportato un Dockerfile di esempio che soddisfa le specifiche elencate nelle sezioni precedenti per creare un'immagine da zero utilizzando un ambiente di base: 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"
Di seguito è riportato un Dockerfile di esempio che soddisfa le specifiche elencate nelle sezioni precedenti per creare un'immagine basata su 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"
]