
Conforme documentação:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html
Se quiser usar ebextensions com um ambiente Single Container Docker Elasticbeanstalk, você deve:
- Use um arquivo zip como versão do seu aplicativo
- Incluir um arquivo Dockerfile.aws.json no arquivo
- Incluir um arquivo Dockerfile no arquivo
- Inclua uma pasta .ebextensions em seu arquivo
A imagem Docker usada será a imagem criada pelo Dockerfile, e não a imagem especificada em Dockerfile.aws.json
No meu caso, não quero que o Elasticbeanstalk construa minha imagem Docker dinamicamente. Em vez disso, quero usar uma imagem do meu AWS ECR.
Nesse caso, posso apenas especificar um Dockerfile que inclua apenas:
FROM F11111111111.dkr.ecr.us-west-2.amazonaws.com/<my-image>:latest
EXPOSE 80
Isso irá apenas construir uma imagem local não modificada a partir da base e usá-la?
Responder1
Consegui testar isso e posso confirmar que funciona.
Embora o ElasticBeanstalk presuma que seu Dockerfile será construído e adicionado à imagem base, na verdade não é necessário fazer isso.
O Dockerfile pode simplesmente referir-se à imagem base que você deseja usar (por exemplo, no AWS ECR) e à porta que você deseja expor quando for implantada na instância do ElasticBeankstalk.
Isso permite que você use ebextensions em um ambiente Single Container Docker.