es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No puedo resolver el error “No se pudo iniciar y luego escuchar en el puerto definido por la variable de entorno PORT” en Google Cloud Run con una imagen de Docker.

Sé que hay muchos posts sobre esto, pero aún así no puedo resolverlo. Es una aplicación .Net Core 3.1 que utiliza React.

npm run build se completa correctamente.

Tengo PORT=8080 en mi archivo .env.

He configurado mi servicio para que se ejecute en el puerto 8080.

Imagen de configuración del servicio

Tengo mi Dockerfile configurado para exponer el puerto 8080.

Imagen de Dockerfile

Pero aún obtengo lo siguiente:
Error de Cloud Run: No se pudo iniciar el contenedor. No se pudo iniciar y luego escuchar en el puerto definido por la variable de entorno PORT. Los registros de esta revisión podrían contener más información.

He revisado los registros, pero solo muestra el mismo mensaje con un enlace a sí mismo.

Imagen de los registros

Entonces, los registros parecen inútiles.

Estoy implementando de la siguiente manera:

  1. docker build -f foobarDataViz.UI\Dockerfile --force-rm -t foobardataviz.ui . --no-cache
    Esto se construye correctamente.
  2. docker run -d -p 8080:80 --name foobar foobardataviz.ui
    Esto se ejecuta correctamente y puedo navegar localmente en el puerto 8080.
  3. docker push us-central1-docker.pkg.dev/foobar-poc/foobar/foobardataviz.ui:latest
  4. Luego, voy a Cloud Run y hago clic en “Editar y implementar nueva revisión”, lo cual lleva un tiempo, pero falla con el error mencionado anteriormente.

Entonces, el error sugiere que no está exponiendo el puerto o simplemente no se está iniciando en absoluto. ¿Podría ser que mi imagen de Docker no sea compatible con cómo he configurado Cloud Run?

Gracias de antemano.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema aquí está en la configuración del servicio de Cloud Run. Aunque has expuesto el puerto en el Dockerfile y lo has configurado en el archivo .env, aún necesita ser configurado correctamente en el servicio de Cloud Run para asegurarse de que esté escuchando en el puerto correcto.

    Basándonos en el mensaje de error que estás recibiendo, parece que el servicio no puede iniciarse correctamente o escuchar en el puerto especificado. Por lo tanto, es posible que desees verificar nuevamente la configuración de tu servicio de Cloud Run, asegurándote de que esté configurado para ejecutarse en el puerto 8080.

    Además, es posible que desees verificar si hay reglas de firewall o problemas de red que puedan estar impidiendo que el tráfico llegue a tu servicio de Cloud Run.

    Por último, considera verificar que la imagen de Docker que has creado sea compatible con el entorno de Cloud Run. Problemas de incompatibilidad podrían causar problemas al iniciar o ejecutar el servicio, por lo que es importante asegurarse de que tu imagen de Docker funcione en el entorno de Cloud Run.

Comments are closed.