Монго как набор реплик в тестовых контейнерах в .NETC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Монго как набор реплик в тестовых контейнерах в .NET

Сообщение Anonymous »

Я пытаюсь запустить Mongo в Docker, используя Testcontainers в dotnet. У меня нет проблем при использовании следующего кода:

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

        Container = new MongoDbBuilder()
.WithPortBinding("27017")
.Build();
Но с этим MongoDbBuilder по умолчанию я не могу запустить его как набор реплик. Я обнаружил, что мне нужно запустить его как построитель контейнеров с собственным изображением:

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

        Container = new ContainerBuilder()
.WithImage("mongo:6.0")
.WithEntrypoint("mongod")
.WithCommand("--replSet", "rs0")
.WithPortBinding("27017")
.Build();
Затем я инициализирую набор реплик как:

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

    var result = Container.ExecAsync(new List
{
"mongosh", "--eval", "rs.initiate()"
}).GetAwaiter().GetResult();
Когда я пытаюсь выполнить какую-либо операцию с mongo в коде dotnet, я получаю ошибку тайм-аута. Когда я запускаю его в режиме отладки и пытаюсь подключиться к созданному докеру с помощью клиента Mongo (я использую DataGrip), я тоже получаю ошибку тайм-аута. Когда я подключаюсь напрямую к консоли контейнера Docker с помощью mongosh, это работает.
Запускаемое изображение Docker:
Изображение

Настройки подключения в клиенте Mongo:
Изображение

Когда я использую MongoDbBuilder, как уже говорилось в начале, работает клиент Mongo со строкой подключения.

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

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

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

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

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

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

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