本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
提供使用者存取自訂映像檔
本文件提供 step-by-step 指示,讓您的使用者能夠存取其 JupyterLab 環境中的自訂影像。您可以使用此頁面上的資訊,為使用者的工作流程建立自訂環境。該過程包括利用:
-
Docker
-
AWS Command Line Interface
-
Amazon Elastic Container Registry
-
Amazon SageMaker AWS Management Console
遵循此頁面上的指導後,Amazon SageMaker 網域上的 JupyterLab 使用者將可以從其 Jupyter 空間存取自訂映像和環境,以強化其機器學習工作流程。
重要
此頁面假設您已在本機電腦上Docker安裝 AWS Command Line Interface 並安裝。
若要讓使用者在其中成功執行其映像檔 JupyterLab,您必須執行下列動作:
讓您的使用者成功執行映像
-
創建碼頭文件
-
從碼頭文件構建圖像
-
將圖像上傳到 Amazon 彈性容器註冊表
-
將圖像附加到您的 Amazon SageMaker 域
-
讓您的使用者從您的 JupyterLab 空間存取影像
第 1 步:創建碼頭文件
建立 Docker 檔案以定義建立在使用者容器中執行應用程式所需環境的步驟。
重要
您的碼頭檔案必須符合中提供的規格。碼頭文件規格
使用下列碼頭檔案範本來建立 Amazon Linux 2 映像檔:
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='*'
使用以下 Docker 文件模板創建 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 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"]
第 2 步:構建碼頭文件
在與 Dockerfile 相同的目錄中,使用以下命令構建映像:
docker build -t username/imagename:tag your-account-id.dkr.ecr.
AWS 區域
.amazonaws.com/your-repository-name
:tag
重要
您的影像必須以下列格式加上標籤:123456789012
.dkr.ecr.your-region.amazonaws.com/your-repository-name
:tag
否則,您將無法將其推送到 Amazon 彈性容器註冊表存儲庫。
步驟 3:將映像推送到 Amazon 彈性容器註冊表存儲庫
建立映像後,請使用下列命令登入 Amazon ECR 儲存庫:
aws ecr get-login-password --region
AWS 區域
| docker login --username AWS --password-stdin123456789012
.dkr.ecr.AWS 區域
.amazonaws.com
登錄後,使用以下命令推送 Dockerfile:
docker push
123456789012
.dkr.ecr.AWS 區域
.amazonaws.com/your-repository-name
:tag
步驟 4:將圖像附加到用戶的 Amazon SageMaker 域
推送映像後,您必須從 Amazon SageMaker 網域存取映像檔。請使用下列步驟將映像附加至 SageMaker 網域:
-
開啟 SageMaker 主控台
。 -
在 [管理員設定] 下,選擇 [網域
-
從網域清單中,選取網域。
-
開啟 [環境] 索引標籤。
-
針對個人 Studio 應用程式的自訂影像,請選擇 [附加影像]。
-
指定影像來源。
-
選擇下一步。
-
選擇提交。
您的使用者現在可以從其 JupyterLab 空間中選取您已附加至其網域的映像。