Как запустить лямбда-слой AWS в контейнере Docker?
Я хотел бы запустить контейнер Docker, чтобы увидеть, что находится в публичном лямбда-слое.
Следуя документам по слоям aws sam, используя приложение sam только с слоем pytorch, я создал тег Docker, а затем попытался получить изображение Docker, которое завершается неудачно, при отказе в доступе по запросу / для репо может потребоваться авторизация.
Я попробовал aws ecr get-login --no-include-email
авторизоваться правильно, хотя все еще не может получить доступ к изображению.
Поэтому я думаю, что проблема, возможно, в том, что я не авторизован для вытягивания изображения лямбда-слоя, или изображение не существует. Мне не понятно
В качестве альтернативы было бы хорошо скачать общедоступный лямбда-слой, а затем я мог бы использовать https://github.com/lambci/docker-lambda для его проверки.
Больше контекста о том, что я пытался
Итак, лямбда-слой, который я хотел бы исследовать:
arn:aws:lambda:eu-west-1:934676248949:layer:pytorchv1-py36:1
Тег докера, который я использовал:
python3.6-0ffbca5374c4d95e8e10dbba8
Затем я попытался получить изображение Docker с помощью:
docker run -it --entrypoint=/bin/bash samcli/lambda:python3.6-0ffbca5374c4d95e8e10dbba8 -i
docker run -it --entrypoint=/bin/bash <aws_account_id>.dkr.ecr.<region>.amazonaws.com/samcli/lambda:python3.6-0ffbca5374c4d95e8e10dbba8 -i
Который оба потерпел неудачу с ошибкой:
docker: Error response from daemon: pull access denied for samcli/lambda, repository does not exist or may require 'docker login'.
,
1 ответ
Просто быстрый потенциальный ответ (я не читал ссылки, которые вы предоставили, поскольку я не на моем компьютере), учитывая, что вы упомянули aws ecr get-login --no-include-email
Я предполагаю, что вы пытаетесь получить образ докера из сервиса хранилища док-станции AWS.
Линия docker run -it --entrypoint=/bin/bash samcli/lambda:python3.6-0ffbca5374c4d95e8e10dbba8 -i
, с конфигурацией по умолчанию, будет смотреть на хранилище концентраторов докеров. Если вы пытаетесь получить изображение докера в AWS, я бы ожидал чего-то большего docker run -it --entrypoint=/bin/bash aws_account_id.dkr.ecr.region.amazonaws.com/samcli/lambda:python3.6-0ffbca5374c4d95e8e10dbba8 -i
(опять же не говорю, что cammand будет работать, но что-то вроде этого, чтобы согласиться с вашей командой входа в репозиторий aws).
Так как https://hub.docker.com/samcli/lambda это 404, я подозреваю, что это один из тех случаев, когда сообщение об ошибке совершенно верно, репо не существует.