
Согласно документации:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html
Если вы хотите использовать ebextensions со средой Single Container Docker Elasticbeanstalk, вам необходимо:
- Используйте zip-архив в качестве версии вашего приложения
- Включить файл Dockerfile.aws.json в архив
- Включить файл Dockerfile в архив
- Включите папку .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
Будет ли это просто создавать локальный немодифицированный образ из базы и использовать его?
решение1
Мне удалось это проверить, и я могу подтвердить, что это работает.
Хотя ElasticBeanstalk предполагает, что ваш Dockerfile будет основываться на базовом образе и дополнять его, на самом деле это не обязательно.
Dockerfile может просто ссылаться на базовый образ, который вы хотите использовать (например, в AWS ECR), и порт, который вы хотите предоставить при его развертывании в экземпляре ElasticBeankstalk.
Это позволяет использовать ebextensions в среде Single Container Docker.