
Según documentación:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html
Si desea utilizar ebextensions con un entorno Docker Elasticbeanstalk de contenedor único, debe:
- Utilice un archivo zip como versión de su aplicación
- Incluya un archivo Dockerfile.aws.json en el archivo
- Incluir un archivo Dockerfile en el archivo
- Incluya una carpeta .ebextensions en su archivo
La imagen de Docker utilizada será la imagen creada por Dockerfile y no la imagen especificada en Dockerfile.aws.json.
En mi caso, no quiero que Elasticbeanstalk cree mi imagen de Docker sobre la marcha. En su lugar, quiero utilizar una imagen de mi AWS ECR.
En ese caso, ¿puedo especificar un Dockerfile que solo incluya:
FROM F11111111111.dkr.ecr.us-west-2.amazonaws.com/<my-image>:latest
EXPOSE 80
¿Esto simplemente creará una imagen local no modificada desde la base y la usará?
Respuesta1
He logrado probar esto y puedo confirmar que funciona.
Mientras que ElasticBeanstalk supone que su Dockerfile se basará en la imagen base y se agregará a ella, en realidad no es necesario hacer esto.
El Dockerfile puede simplemente hacer referencia a la imagen base que desea utilizar (por ejemplo, en AWS ECR) y al puerto que desea exponer cuando se implementa en la instancia de ElasticBeankstalk.
Esto le permite usar ebextensions en un entorno Docker de contenedor único.