#Ayuda con Docker

1 messages · Page 1 of 1 (latest)

woven karma
limpid pivot
#

a ver

#

Si estoy entendiendo bien, tienes el back-end separado del front-end y tienes una bd, cada uno en un contenedor distinto cierto?

woven karma
#

Si.

limpid pivot
#

Según la imagen que pusiste acá #💬╏chat-general message hay algunas cosas que estás referenciando con el nombre del contendor, esto no te va a dar problema desde el backend a la base de datos ya que la comunicacion entre estos dos es directa

#

pero me viene la duda con el frontend, recuerda que el frontend se ejecuta en tu navegador, es decir el host, y el host no tiene idea de los aliases de docker

#

si tienes el puerto del backend como 3001 y del front como 3000

#

deberias poder accesar al front desde localhost 3000

#

y deberias poder hacer peticiones al backend desde localhost 3001

woven karma
#

Sisisi, o sea yo puedo acceder al puerto 3000, pero em sale este error. Como que no encuentra el puerto 3001 en el cual se estan haciendo las llamadas.

limpid pivot
#

puedes hacer peticiones al back desde algo como postman externo al navegador?

woven karma
#

Sisisis, tengo swagger

#

el servidor y la base de datos estan corriendo sin ningun problema.

#

Y es mas puedo ejecutar el servidor y la base de datos desde el contendor y llamar a los endpoint desde el cliente (ejecutandos een la maquina local)

#

El problema es cuando lo hago desd el contendor.

#

Como que no reconoce el puerto 3001

limpid pivot
#

como tienes definida la url del backend en tu front?

woven karma
#

Ahora te muestro

#

tengo estas dos variables de entorno ()

limpid pivot
#

coloca las dos como localhost

#

e intenta probar

#

haciendo el contenedor

woven karma
#

Pero el tema es que el docker espera en si el server, o sea para que se ejcute dentro del contendor. El de localhost es para la maquina local.

#

a ver espera

limpid pivot
#

prueba con localhost, como digo, el codigo aunque este en un contenedor se esta ejecutando en el navegador, lo que esta conectando con el back es el navegador, no de un container a otro

#

si no tienes esa otra alternativa, de la imagen, si la quieres probar

woven karma
#

O sea que deberia cambiar tambien en el docker-compose lo de server:3001, a localhost 3001?

limpid pivot
#

particularmente con next js no se si estas haciendo cosas de "backend", que alli si tendrias que usar alias para que sea backend con backend

woven karma
#

volvio a salir jajaja

woven karma
limpid pivot
#

aja si lo vas a declarar en el docker compose debes hacerlo como la imagen que te mande

#

host.docker.internal instead of localhost

limpid pivot
woven karma
#

DIgamos, si. Estoy haciendo uso de server actions, en ciertas partes de la aplicacion.

limpid pivot
#

bueno en teoria con host.docker.internal el debe redireccionar todo a como si lo estuvieras accesando desde el host

#

docker con eso hace el link al ip de la red bridge que hiciste

#

todos los contenedores y el host tienen una ip (solo que es dinamica y cambia cada vez que reinicias los contenedores)

woven karma
#

el host.docker.internal tambien debería adherirlo a la variable de entorno?

limpid pivot
#

generalmente es algo asi como 172.18.0.x o algo asi

limpid pivot
#

la gran pregunta es si el navegador va a entender eso XD

#

no se como lo maneja next directamente en caso de esa diferencia

woven karma
#

seguimos en la misma

limpid pivot
#

no tengo idea de como tienes estructurado tu codigo, pero creo que la solucion va a ser separar dos url en tu front, una para las cosas de front que se ejecutan en el navegador y otra para tus server actions

#

eso ya es un particular de next que no te sabria ayudar como resolver

limpid pivot
woven karma
#

funciono

#

estaba leyendo la variable local el figlio di puttana ahaha

limpid pivot