Solucionar problemas con las conexiones desde VSCode, Web, Cliente y CSIDE

0
83

Uno de los problemas mas comunes con el que me he encontrado para trabajar con mi contenedor de NAV han sido problemas para conectar con él.

Cuando realizas la primera instalación de NAV te informa en la consola de los datos para acceder a NAV:

WARNING: This license is not compatible with this version of Business Central.
WARNING: This license is not compatible with this version of Business Central.
Container IP Address: 192.168.36.232
Container Hostname  : BCSandBox
Container Dns Name  : BCSandBox
Web Client          : http://BCSandBox/NAV/
Dev. Server         : http://BCSandBox
Dev. ServerInstance : NAV

Al intentar entrar con esa URL jamás resuelve en el cliente Web y, de la misma forma, no funcionan los accesos directos ni para el cliente de windows ni para el entorno de desarrollo.

Esto se debe a que no resuelve bien la relación entre el nombre del servidor y la IP por lo que para acceder a nuestro contenedor tendremos que usar la IP. De esta forma, para acceder a nuestro contenedor, únicamente tendremos que cambiar «BCSandBox» por la IP.
Así, por ejemplo, el acceso Web sería «http://192.168.36.232/NAV».

Cada vez que se reinicie el contenedor la IP asignada al mismo cambia, por lo que tendremos que conocer la nueva IP para realizar la conexión.
Para ello, tenemos que seguir los pasos que, a continuación, se detallan.
Abrimos el powershell como administrador y ejecutamos el bloc de notas, le damos a archivo>abrir y vamos a la siguiente ruta y abrimos el fichero «hosts»:

Eliminamos la línea que hace referencia a nuestro contenedor y guardamos (no es la IP de la instalación de la entrada anterior aunque si es el mismo contenedor):

Tras ello, reiniciamos el contenedor docker de la siguiente manera:

Lanzamos el último comando para revisar el log, ya que al final nos dará la IP asignada al contenedor y con la que accederemos a NAV:

Como se ve, la IP ha vuelto a cambiar con este reinicio de ejemplo.
Ahora que ya tenemos la IP ya podemos volver a conectar con nuestro contenedor de NAV:

La clave de todo estriba en la actualización del fichero «Hosts». Cuando eliminamos la línea y volvemos a reiniciar el contenedor se actualiza el valor del fichero hosts permitiendo la conexión con el hostname directamente, es decir, mediante «http://bcsandbox/NAV/»: