Estoy creando una aplicación Docker/Flask simple que quería implementar en Beanstalk elástico pero no puedo hacer que funcione.
El código para la aplicación backend (incluida la configuración de Docker) se puede encontrar aquí: https://github.com/rogebrd/sage/tree/move_to_docker/backend
Para la implementación del código, envío mi código a s3 a través de un zip; el script para hacerlo se puede encontrar aquí: https://github.com/rogebrd/sage/blob/move_to_docker/scripts/bundle_to_zip.sh
La instancia de Elastic Beanstalk está prácticamente en su configuración predeterminada (lo único que cambié fue habilitar los registros)
El error que obtengo cuando accedo al recurso es - 502 - Error de puerta de enlace
Mirando en var/log/eb-docker/containers/eb-current-app/stdouterr.log puedo ver que la aplicación se ha activado con éxito escuchando en el puerto http://192.168.0.2:5000/
En este punto, realmente no sé de dónde podría originarse el problema. Mi sospecha es que los puertos no se están asignando correctamente a los que probé las extensiones .eb que están en su lugar ahora, usando un archivo Dockerrun.aws.json en lugar de docker-compose, eliminando docker-compose por completo y cambiando el servidor. puerto a 8080 y 80 sin éxito.
¡Buscando cualquier recurso que me señale en la dirección correcta!
Está utilizando puertos incorrectos en docker compose. Por favor cambie a:
ports: [ '80:5000' ]