2015-12-29 3 views
4

Мы переключаемся с Docker Hub на ECR, и мне любопытно, как структурировать файл Dockerrun.aws.json для использования этого изображения. Я попытался изменить имя как <my_ECR_URL>/<repo_name>:<image_tag>, но это не удалось. Я также видел детали частных реестров, использующих файл аутентификации на S3, но это не похоже на правильный маршрут, когда aws ecr get-login является рекомендуемым способом аутентификации с помощью ECR.Структура Dockerrun.aws.json для ECR Repo

Может ли кто-нибудь указать мне, как я могу использовать изображение ECR в файле Beanstalk Dockerrun.aws.json?

Если я смотрю на определение задачи ECS, есть необходимый атрибут com.amazonaws.ecs.capability.ecr-auth, но я не устанавливаю его где-либо в файле Dockerrun.aws.json, и я не уверен, что должно быть там. Возможно, это ведро S3? Что-то нужно, как каждый раз, когда я пытаюсь запустить Elastic Beanstalk созданные задачи из ECS, я получаю:

Run tasks failed 
Reasons : ATTRIBUTE 

Любые идеи очень ценятся.

Update Я вижу с какой-либо другой threads, что это используется, происходит с более ранними версиями агента ECS, но я в настоящее время работает Agent version 1.6.0 и Docker version 1.7.1, который я считаю рекомендуемые варианты. Возможно, это проблема с версией Docker?

ответ

6

Так получается, агент ECS только был в состоянии тянуть изображения с версией 1.7, и там моя падала. Обновление агента разрешает мою проблему, и, надеюсь, это помогает кому-то другому.

2

Это, скорее всего, проблема с ролями IAM, если вы используете роль, созданную ранее для Elastic Beanstalk. Убедитесь в том, что роль, которую Elastic Beanstalk работает с имеет AmazonEC2ContainerRegistryReadOnly удался политик прилагается

Источник: http://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_IAM_policies.html

+1

Я подозревал, что, как хорошо, но IAM политики для пользователя Beanstalk имеет полный доступ AWS, и включается в состав разрешений ECR. – smugcloud

2

При использовании Elasticbeanstalk и ECR вам не нужно аутентифицироваться. Просто убедитесь, что пользователь имеет политику AmazonEC2ContainerRegistryReadOnly

Вы можете хранить пользовательские Docker изображения в АМС с Amazon EC2 Контейнер реестра (Amazon ECR). Когда вы сохраняете свои изображения Docker в Amazon ECR, Elastic Beanstalk автоматически аутентифицирует реестр Amazon ECR с профилем экземпляра вашей среды, поэтому вам не нужно создавать файл аутентификации и загружать его в Amazon Простая служба хранения (Amazon S3).

Вы должны, однако, предоставить своим экземплярам разрешение на использование доступа к изображениям в вашем репозитории ECR Amazon путем добавления разрешений в профиль экземпляра вашей среды.Вы можете прикрепить AmazonEC2ContainerRegistryReadOnly политику управляемой с профилем экземпляра , чтобы обеспечить доступ только для чтения ко всем хранилищам Amazon ECR в вашей учетной записи, или предоставить доступ к единым хранилищем с помощью следующий шаблон для создания пользовательской политики:

Источник: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker.container.console.html

 Смежные вопросы

  • Нет связанных вопросов^_^