1
resposta

[Dúvida] Api não conecta ao servidor local

como o vscode utilizado é uma versão antiga eu não tenho acesso a algumas funcionalidades, uma delas é a ferramenta que os instrutores usam para cria um servido local e ao mesmo tempo conecta-lo ao projeto, portanto eu tenho que subir um servidor pelo o docker e faze-lo conecta, mas quando eu fui atualizar a Api para usa o meu servidor local simplesmente não conecta mesmo estão tudo teoricamente certo.

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "ScreenSoundDB": "Server=localhost;Database=oi;User Id=user;Password=123;"
  }
}
1 resposta

Oi Pedro! Tudo bem?

Primeiro, certifique-se de que o Docker está em execução e que o contêiner do banco de dados está ativo. Você pode verificar isso usando o comando docker ps no terminal para listar todos os contêineres em execução. Se o contêiner do banco de dados não estiver listado, você precisará iniciá-lo com o comando docker start <nome_do_container>.

Além disso, verifique se a string de conexão está correta. No seu arquivo de configuração, você está usando Server=localhost, mas quando o banco de dados está em um contêiner Docker, o localhost se refere ao contêiner em si, não ao host. Você pode precisar substituir localhost pelo nome do serviço do banco de dados no Docker Compose ou pelo endereço IP do contêiner. Para obter o IP do contêiner, você pode usar o comando docker inspect <nome_do_container> e procurar pelo campo IPAddress.

Se você estiver usando o Docker Compose, certifique-se de que a rede entre os serviços está configurada corretamente para que a API possa se comunicar com o banco de dados.

Por fim, verifique se a porta do banco de dados está corretamente exposta e mapeada no Docker. Por exemplo, se você estiver usando o SQL Server, a porta padrão é 1433, então no Docker Compose ou no comando docker run, você deve ter algo como -p 1433:1433.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.