MongoDB, репликация в одном докер контейнере

Хотел в монго включить транзакции, столкнулся с тем, что они работают только при включенной репликации.

Теперь пытаюсь сделать ее.

Использую такой docker-compose файл:

version: '3.4'

services:

  mongodbClustered:
    hostname: mongodb
    container_name: mongodbClustered
    image: mongo:latest
    environment:
      MONGO_INITDB_DATABASE: admin
      MONGO_REPLICA_SET_NAME: rs0
    expose:
      - 27017
    ports:
      - 27020:27017
    restart: always
    healthcheck:
      test: test $$(echo "rs.initiate().ok || rs.slaveOk().ok || rs.status().ok" | mongo --quiet) -eq 1
      interval: 10s
      start_period: 30s
    entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs0" ]

Пытаюсь подключится через mongoose:

const mongoURI = `mongodb://192.168.0.111:27020/admin?replicaSet=rs0`;
mongoose.connect(mongoURI,
    {useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false});

И после этого получаю вот это: https://pastebin.com/0xKpLarc

Может проблема в том, что я прокидую порты в докер, как 27020:27017, а не 27017:27017? (Не могу проверить, там другое приложение крутится)


Ответы (0 шт):