He usado la plantilla para una aplicación de API web ASP.NET Core que se ejecuta en Docker en Linux.

Parece funcionar bien hasta que necesita acceder a mi Sql Server (que se ejecuta en mi red). Cuando intenta hacer eso, aparece el siguiente error:

Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. El servidor no se encontró o no estaba accesible. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: Proveedor de TCP, error: 35 - Se detectó una excepción interna)

Y la excepción interna dice:

No existe tal dispositivo o dirección

He leído que ejecutar Docker con este comando: --net=host puede permitir que su contenedor acceda a su red. Pero parece que no puedo encontrar la manera de hacer que eso funcione con las integraciones de Visual Studio (presionando F5 o el botón de la barra de herramientas > Docker para comenzar a ejecutar y depurar).

¿Cómo puedo poner en marcha la red con Visual Studio, Docker y Linux?

0
Vaccano 1 oct. 2019 a las 01:43

1 respuesta

La mejor respuesta

Resulta que era mi cadena de conexión. Cuando se ejecuta en Windows e IIS Express, podría simplemente poner el nombre del servidor en mi cadena de conexión.

Cuando se ejecuta en un contenedor de Linux, necesitaba el nombre de dominio completo (fqdn) para el nombre del servidor.

Una vez que hice eso, funcionó bien.

0
Vaccano 2 oct. 2019 a las 19:42