Я использую docker mon go с моим в качестве pnet основного приложения , но я не могу установить соединение с mongodb, который работает под контейнером. Хотя я могу подключить компас MongoDB GUI с MongoDB, работающим под docker Но мое приложение не подключается. Вот мои шаги
Сначала я вытягиваю Пн go Изображение БД
docker pull mongo:latest
Затем я создаю сетевой мост для пн go
docker network create --driver bridge mongo_db
Затем я запускаю mon go образ с сетью моста
docker run -d -p 27017:27017 --net=mongo_db --name mongodb mongo
после описанных выше шагов я создал свой файл образа aspnetcore
docker build -t lmsapp / v2.
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /app
EXPOSE 5000
EXPOSE 5001
COPY ["SharedKernal/SharedKernal.csproj", "SharedKernal/"]
COPY ["LMS.Entities/LMS.Entities.csproj", "LMS.Entities/"]
COPY ["LMS.Core/LMS.Core.csproj", "LMS.Core/"]
COPY ["LMS.Infrastructure/LMS.Infrastructure.csproj", "LMS.Infrastructure/"]
COPY ["LMS.Web/LMS.Web.csproj", "LMS.Web/"]
RUN dotnet restore "LMS.Web/LMS.Web.csproj"
COPY . .
WORKDIR "/app/LMS.Web"
CMD [ "/bin/bash","-c","dotnet restore && dotnet watch run" ]
и на последнем шаге я запускаю свой пользовательский образ, используя следующую команду
docker run -d --net=mongo_db --name lms -p 5000:5000 -p 5001:5001 -v "$(pwd):/app".ToLower() -w "/app/LMS.Web" lmsapp/v2
Теперь, когда я просматриваю приложение, я не могу подключиться к mon go. Вот моя строка подключения
"ConnectionString": "mongodb://localhost:27017"
Я пробовал другую версию строки подключения, но ни одна не работает, кроме одной
"ConnectionString": "mongodb://0.0.0.0:27017"
"ConnectionString": "mongodb://127.0.0.1:27017"
"ConnectionString": "mongodb://api:27017"
Когда я нахожу IP-адрес контейнера и попробуйте подключить mon go только к моему приложению, тогда оно будет работать
"ConnectionString": "mongodb://172.1.8.1:27017"
Но я могу успешно подключить компас MongoDB GUI с запущенным экземпляром mon go в контейнере.
В чем проблема всего этого?