Olá Elias, bom dia, tudo bom?
Bora tentar resolver isso juntos. Aparentemente, o container do SQL Server está rodando, mas o código não está conseguindo se conectar a ele. Aqui estão algumas sugestões para você tentar:
Verifique as Configurações do Container:
- Certifique-se de que o container está configurado corretamente e que a porta 1433 (porta padrão do SQL Server) está exposta e mapeada corretamente. Na imagem, parece que a porta está mapeada para
53158:1433
, então verifique se você está usando a porta correta na sua aplicação.
Aguarde o Container Inicializar:
Verifique os Logs do Container:
Testar a Conexão Manualmente:
- Tente se conectar ao banco de dados manualmente usando uma ferramenta como SQL Server Management Studio (SSMS) ou Azure Data Studio para garantir que o banco de dados está acessível.
Configuração de Rede:
- Certifique-se de que não há problemas de rede que possam estar impedindo a conexão com o container. Verifique as configurações de firewall e rede do Docker.
Verifique a Versão do Docker:
- Certifique-se de que você está usando uma versão compatível do Docker. Às vezes, versões mais antigas podem ter bugs ou incompatibilidades.
Aqui está um exemplo de como você pode modificar o código para adicionar um atraso:
private readonly MsSqlContainer _msSqlContainer = new MsSqlBuilder()
.WithImage("mcr.microsoft.com/mssql/server:2022-latest")
.Build();
public async Task InitializeAsync()
{
await _msSqlContainer.StartAsync();
await Task.Delay(10000); // Aguardar 10 segundos
//...
}
Espero que essas sugestões ajudem a resolver o problema. Bons estudos!