docker 无法从自定义SageMaker映像启动应用程序:AppImageConfig中UID/GID出现资源未找到错误

2w3rbyxf  于 2023-03-07  发布在  Docker
关注(0)|答案(1)|浏览(128)

我尝试创建一个custom SageMaker image并从它启动内核,因为我想看看是否可以通过自定义SageMaker映像在SageMaker Studio中使用black(python代码格式化程序)。
到目前为止,我已经能够将映像附加到SageMaker域,并开始从自定义映像启动内核,遵循these steps。但是,笔记本一打开,就会在笔记本中显示以下错误:
无法启动应用程序[black-conda-ml-t3-medium-7123fdb901f81ab5]。资源未找到错误:SageMaker无法使用映像[123456789012.dkr.ecr.us-east-1.amazonaws.com/conda-sample@sha256:12345]启动应用。请确保AppImageConfig中提供的UID/GID与映像中定义的默认UID/GID匹配。(上下文:请求ID:21234b0f568,时间戳:1677767016.2990377,日期:2023年3月2日星期四14:23:36)
下面是相关的代码片段:停靠文件:

FROM continuumio/miniconda3:4.9.2

COPY environment.yml .
RUN conda env update -f environment.yml --prune

environment.yml:

name: base
channels:
 - conda-forge
dependencies:
 - python=3.9
 - numpy
 - awscli
 - boto3
 - ipykernel
 - black

和应用程序图像配置:

{
    "AppImageConfigName": "conda-env-kernel-config",
    "KernelGatewayImageConfig": {
        "KernelSpecs": [
            {
                "Name": "python3",
                "DisplayName": "Python [conda env: myenv]"
            }
        ],
        "FileSystemConfig": {
            "MountPath": "/root",
            "DefaultUid": 0,
            "DefaultGid": 0
        }
    }
}

我尝试跟踪this troubleshooting guide,但似乎没有解决我的问题,因为所有的诊断都正常工作。例如,当我在本地容器中运行id -uid -g时,结果00"DefaultUid": 0, "DefaultGid": 0的AppImageConfig设置对齐。

ru9i0ody

ru9i0ody1#

在本地 * 拥有 * AppImageConfig并仅将构建的映像推送到ECR是不够的--您还需要使用以下命令推送AppImageConfig:

aws sagemaker create-app-image-config \
    --cli-input-json file://app-image-config-input.json

然后在将自定义图像附加到SageMaker域时使用它。
如果您在控制台中执行此操作,则实际上并不使用AppImageConfig文件本身--您只需将其中的信息输入到创建映像对话框中:

"MountPath": "/root",
        "DefaultUid": 0,
        "DefaultGid": 0
        "Name": "python3",
        "DisplayName": "Python [conda env: myenv]"

相关问题