Контейнер Mon go с набором реплик только с одним узлом в docker -compose - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу создать контейнер Docker с экземпляром Mon go. В частности, я хотел бы создать набор реплик только с одним узлом (поскольку меня интересуют транзакции, и они доступны только для наборов реплик).

Dockerfile

FROM mongo
RUN echo "rs.initiate();" > /docker-entrypoint-initdb.d/replica-init.js
CMD ["--replSet", "rs0"]

docker -compose.yml

version: "3"
services:
  db:
    build:
      dockerfile: Dockerfile
      context: .
    ports:
      - "27017:27017"

Если я использую один Dockerfile, то все в порядке, а если я использую docker -compose, он не работает: фактически, если я затем войду в контейнер, то получу предложено rs0:OTHER> вместо rs0:PRIMARY>.

Я обращался к этим ссылкам, но предложенные решения не работают:

https://github.com/docker-library/mongo/issues/246#issuecomment -382072843 https://github.com/docker-library/mongo/issues/249#issuecomment -381786889

1 Ответ

0 голосов
/ 28 апреля 2020

Вам все еще нужно выполнить replSetInitiate , даже если в RS есть только один узел.

См. Также здесь .

...