Назад | Перейти на главную страницу

Использование ebextensions с Docker в AWS Elasticbeanstalk

Согласно документации:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html

Если вы хотите использовать ebextensions в среде Docker Elasticbeanstalk с одним контейнером, вам необходимо:

  1. Используйте zip-архив в качестве версии приложения
  2. Включите файл Dockerfile.aws.json в архив
  3. Включите файл Dockerfile в архив
  4. Включите папку .ebextensions в свой архив

Используемым образом Docker будет образ, созданный файлом Dockerfile, а не образ, указанный в Dockerfile.aws.json.

В моем случае я не хочу, чтобы Elasticbeanstalk создавал мой образ Docker на лету. Вместо этого я хочу использовать образ из моего AWS ECR.

В этом случае могу я просто указать Dockerfile, который включает только:

FROM F11111111111.dkr.ecr.us-west-2.amazonaws.com/<my-image>:latest
EXPOSE 80

Будет ли это просто создавать локальный немодифицированный образ из базы и использовать его?

Удалось проверить это, и я могу подтвердить, что это работает.

В то время как ElasticBeanstalk предполагает, что ваш Dockerfile будет развиваться и добавляться к базовому образу, на самом деле в этом нет необходимости.

Dockerfile может просто ссылаться на базовый образ, который вы хотите использовать (например, в AWS ECR), и порт, который вы хотите открыть при развертывании в экземпляре ElasticBeankstalk.

Затем это позволяет использовать ebextensions в среде Docker с одним контейнером.