Невозможно подключиться к локальному SQL-серверу при запуске приложения через контейнер Docker.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно подключиться к локальному SQL-серверу при запуске приложения через контейнер Docker.

Сообщение Anonymous »

Я пытаюсь запустить свой WEB API через Docker. Я впервые использую Docker с .NET, и это вызывает головную боль.
Когда я запускаю API через Container (Dockerfile), этот код запускается для миграции БД при необходимости:

Код: Выделить всё

public static class DataHelper
{

public static async Task ManageDataAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken)
{
using AppDbContext db = serviceProvider.GetRequiredService();

IEnumerable pendingMigrationIds = await db.Database.GetPendingMigrationsAsync(cancellationToken).ConfigureAwait(false);

if (pendingMigrationIds.Any())
{
await db.Database.MigrateAsync(cancellationToken).ConfigureAwait(false);
}
}
}
Однако, когда я запускаю код, это исключение выдается в .GetPendingMigrations:

Microsoft. Data.SqlClient.SqlException: «При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик TCP, ошибка: 26 — ошибка определения сервера/указанного экземпляра)'

Поэтому я пошел на SO и попробовал эти решения:
  • Открыл конфигурацию сервера Sql и включил общую память, именованные каналы и TCP/IP на обоих MSSQLServer & SQLExpress, добавлен IPALL TCP-порта к 1433.
  • Открыл Win+r с помощью Services.msc и перезапустил SQL Server (MSSQLSERVER) и SQL Server (SQLEXPRESS), а также их агент сервера.
  • Я изменил строки подключения на используйте Data Source=,
    ;..., Data Source=Data Source=local\\MSSQLLocalDB;..., Data Source=localhost\\SQLEXPRESS;... , Data Source=.\\SQLEXPRESS;... но ничего не работает
  • Я перезагрузил компьютер
  • Я удалил контейнеры и изображения, прежде чем все повторить
Я попробовал все решения, которые смог найти в SO, но ничего не помогло.
Как я могу подключиться к SQL Server из Docker?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -container
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»