Я хочу создать контейнер Docker с экземпляром Mongo. В частности, я хотел бы создать набор реплик только с одним узлом (поскольку меня интересуют транзакции, а они доступны только для наборов реплик).
Докерфайл
FROM mongo
RUN echo "rs.initiate();" > /docker-entrypoint-initdb.d/replica-init.js
CMD ["--replSet", "rs0"]
докер-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
docker build -t db .; docker run -p 27017:27017 -d db
, все в порядке, но с docker-compose это не работает. - person StackUser   schedule 28.04.2020