翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Dockerfile の仕様
Dockerfile で指定するイメージは、イメージを正常に作成するには、次のセクションの仕様と一致する必要があります。
イメージを実行する
-
Entrypoint
– を使用して、イメージにエントリポイントを埋め込むことをお勧めします。DockerCMD
またはEntrypoint
の手順。ランタイムにコンテナに渡ContainerArguments
されるContainerEntrypoint
と を設定することもできます。詳細については、「CodeEditorAppImageConfig
」を参照してください。 -
EnvVariables
– Studio では、コンテナで使用できるContainerEnvironment
変数を設定できます。環境変数は、 の環境変数で上書きされます SageMaker。エクスペリエンスを向上させるために、環境変数は通常AWS_
であり、プラットフォーム環境を優先SageMaker_namespaced
します。環境変数は次のとおりです。
-
AWS_REGION
-
AWS_DEFAULT_REGION
-
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
-
SAGEMAKER_SPACE_NAME
-
ユーザーとファイルシステムの仕様
-
WorkingDirectory
– スペースの Amazon EBSボリュームはパス にマウントされます/home/sagemaker-user
。マウントパスは変更できません。WORKDIR
命令を使用して、イメージの作業ディレクトリを 内のフォルダに設定します/home/sagemaker-user
。 -
UID
– のユーザー ID Docker コンテナ。UID=1000 はサポートされている値です。sudo アクセスをユーザーに追加できます。IDs は、コンテナで実行されているプロセスに必要以上の権限が付与されないように再マッピングされます。 -
GID
– のグループ ID Docker コンテナ。GID=100 はサポートされている値です。sudo アクセスをユーザーに追加できます。IDs は、コンテナで実行されているプロセスに必要以上の権限が付与されないように再マッピングされます。 -
メタデータディレクトリ – で使用される
/opt/.sagemakerinternal
および/opt/ml
ディレクトリ AWS。のメタデータファイル/opt/ml
には、 などのリソースに関するメタデータが含まれていますDomainId
。次のコマンドを使用して、ファイルシステムの内容を表示します。
cat /opt/ml/metadata/resource-metadata.json {"AppType":"CodeEditor","DomainId":"
example-domain-id
","UserProfileName":"example-user-profile-name
,"ResourceArn":"arn:aws:sagemaker:AWS リージョン
:111122223333
;:app/domain-ID
/user-ID
/CodeEditor/default","ResourceName":"default","AppImageVersion":"current"} -
ログ記録ディレクトリ – Code Editor のログ記録ディレクトリとそれに関連付けられた拡張機能用に予約
/var/log/studio
されています。イメージの作成にフォルダを使用しないことをお勧めします。
URL アプリケーションのヘルスチェックと
-
Base URL
– URLBYOIアプリケーションのベースは である必要がありますcodeeditor/default
。アプリケーションは 1 つだけ持つことができ、常に という名前にする必要がありますdefault
。 -
ヘルスチェックエンドポイント – 検出するには、Code Editor サーバー SageMaker を 0.0.0.0 ポート 8888 でホストする必要があります。
-
認証 - ユーザーを認証
sagemaker-code-editor
するには、 を開く--without-connection-token
ときに SageMaker を渡す必要があります。
注記
Amazon SageMaker Distribution をベースイメージとして使用している場合、これらの要件は含まれているentrypoint-code-editor
スクリプトの一部として既に処理されています。
Dockerfile サンプル
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"
以下は、Amazon SageMaker Distribution
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"
]