Quando você executa seu aplicativo dentro do Docker, ele está sendo executado em um ambiente virtual; É como outro computador, mas tudo é virtual, incluindo a rede.
Para conectar seu contêiner ao host, o Docker fornece um endereço IP especial e fornece a esse IP um URL com o valor
host.docker.internal
. Portanto, supondo que o mongo esteja sendo executado com vinculação em todas as interfaces da máquina host, a partir do contêiner, ele pode ser alcançado com a string de conexão:
mongodb://host.docker.internal:21017/database
Simplificando,
Just use host.docker.internal as your mongodb hostname.