Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Spesifikasi Dockerfile
Gambar yang Anda tentukan di Dockerfile Anda harus sesuai dengan spesifikasi di bagian berikut untuk membuat gambar dengan sukses.
Menjalankan gambar
-
Entrypoint
— Kami merekomendasikan untuk menyematkan titik masuk ke dalam gambar menggunakan DockerCMD
atauEntrypoint
instruksi. Anda juga dapat mengonfigurasiContainerEntrypoint
danContainerArguments
yang diteruskan ke wadah saat runtime. -
EnvVariables
— Dengan Studio, Anda dapat mengonfigurasiContainerEnvironment
variabel yang tersedia untuk wadah. Variabel lingkungan ditimpa dengan variabel lingkungan dari SageMaker. Untuk memberi Anda pengalaman yang lebih baik, variabel lingkungan biasanyaAWS_
danSageMaker_namespaced
memprioritaskan lingkungan platform.Berikut ini adalah variabel lingkungan:
-
AWS_REGION
-
AWS_DEFAULT_REGION
-
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
-
SageMaker_SPACE_NAME
-
Spesifikasi untuk pengguna dan sistem file
-
WorkingDirectory
— EBS Volume Amazon untuk ruang Anda dipasang di jalur/home/sagemaker-user
. Anda tidak dapat mengubah jalur pemasangan. GunakanWORKDIR
instruksi untuk mengatur direktori kerja gambar Anda ke folder di dalamnya/home/sagemaker-user
. -
UID
— ID pengguna dari Docker kontainer. UID= 1000 adalah nilai yang didukung. Anda dapat menambahkan akses sudo ke pengguna Anda. Itu IDs dipetakan ulang untuk mencegah proses yang berjalan di wadah memiliki lebih banyak hak istimewa daripada yang diperlukan. -
GID
— ID grup dari Docker kontainer. GID=100 adalah nilai yang didukung. Anda dapat menambahkan akses sudo ke pengguna Anda. Itu IDs dipetakan ulang untuk mencegah proses yang berjalan di wadah memiliki lebih banyak hak istimewa daripada yang diperlukan. -
Direktori metadata — Direktori
/opt/.sagemakerintenral
dan/opt/ml
direktori yang digunakan oleh. AWS File metadata di/opt/ml
berisi metadata tentang sumber daya seperti.DomainId
Gunakan perintah berikut untuk menampilkan isi sistem file:
cat /opt/ml/metadata/resource-metadata.json {"AppType":"JupyterLab","DomainId":"
example-domain-id
","UserProfileName":"example-user-profile-name
,"ResourceArn":"arn:aws:sagemaker:Wilayah AWS
:111122223333
;:app/domain-ID
/user-ID
/Jupyte rLab/default","ResourceName":"default","AppImageVersion":"current"} -
Direktori logging —
/var/logs/studio
dicadangkan untuk direktori logging JupyterLab dan ekstensi yang terkait dengannya. Kami menyarankan Anda untuk tidak menggunakan folder dalam membuat gambar Anda.
Pemeriksaan kesehatan dan URL untuk aplikasi
-
Base URL
— Dasar URL untuk BYOI aplikasi harusjupyterlab/default
. Anda hanya dapat memiliki satu aplikasi dan harus selalu diberi namadefault
. -
HealthCheck API
—HostAgent
MenggunakanHealthCheckAPI
at port 8888 untuk memeriksa kesehatan JupyterLab aplikasi.jupyterlab/default/api/status
adalah titik akhir untuk pemeriksaan kesehatan. -
Home/Default URL
—/opt/ml
Direktori/opt/.sagemakerinternal
dan direktori yang digunakan oleh AWS. File metadata di/opt/ml
berisi metadata tentang sumber daya seperti.DomainId
-
Otentikasi — Untuk mengaktifkan otentikasi bagi pengguna Anda, matikan token notebook Jupyter atau otentikasi berbasis kata sandi dan izinkan semua asal.
Berikut ini adalah contoh Amazon Linux 2 Dockerfile yang memenuhi spesifikasi sebelumnya:
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='*'
Berikut ini adalah contoh Amazon SageMaker Distribution Dockerfile yang memenuhi spesifikasi sebelumnya:
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"]