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 del file Docker
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. -
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
/opt/ml
directory/opt/.sagemakerintenral
e utilizzate da. AWS Il file di metadati/opt/ml
contiene metadati relativi a risorse come.DomainId
Utilizzate il seguente comando per mostrare il contenuto del file system:
cat /opt/ml/metadata/resource-metadata.json {"AppType":"JupyterLab","DomainId":"
example-domain-id
","UserProfileName":"example-user-profile-name
,"ResourceArn":"arn:aws:sagemaker:Regione AWS
:111122223333
;:app/domain-ID
/user-ID
/Jupyte rLab/default","ResourceName":"default","AppImageVersion":"current"} -
Directory di registrazione:
/var/logs/studio
sono riservate alle directory di registrazione di JupyterLab 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 esserejupyterlab/default
. È possibile avere una sola applicazione e deve sempre avere un nomedefault
. -
HealthCheck API
—HostAgent
Utilizza laHealthCheckAPI
porta 8888 per verificare lo stato dell' JupyterLab applicazione.jupyterlab/default/api/status
è l'endpoint per il controllo sanitario. -
Home/Default URL
— Le/opt/ml
directory/opt/.sagemakerinternal
e che vengono utilizzate da. AWS Il file di metadati/opt/ml
contiene metadati relativi a risorse come.DomainId
-
Autenticazione: per abilitare l'autenticazione per i tuoi utenti, disattiva il token dei notebook Jupyter o l'autenticazione basata su password e consenti tutte le origini.
Di seguito è riportato un esempio Amazon Linux 2 Dockerfile che soddisfa le specifiche precedenti:
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='*'
Di seguito è riportato un esempio Amazon SageMaker Distribution Dockerfile che soddisfa le specifiche precedenti:
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"]