Как настроить реплику Mongo в режиме dockerfile - PullRequest
0 голосов
/ 05 июля 2018

Я создал файл dockerfile для построения набора реплик Mongo. Начать создание набора копий не проблема, но при настройке копии Mongo я не хочу вручную заходить в конфигурацию оболочки Mongo по умолчанию, это слишком хлопотно, поэтому я автоматически выполняю скрипт для завершения автоматической настройки при создании docker и пробую много методов, следующий мой конкретный способ не работает. Работа И запустите скрипт. Вот мой подробный документ

dockerfile

FROM mongo:3.4
ENV AUTO_RUN_DIR /docker-entrypoint-initdb.d
COPY ./setup.js /docker-entrypoint-initdb.d/
RUN chmod +x /docker-entrypoint-initdb.d/setup.js
ENTRYPOINT ["/docker-entrypoint-initdb.d/setup.js"]

setup.js

#!/bin/bash
echo "Started.."
mongod --replSet replset0
mongo 127.0.0.1/admin -u test -p test --authenticationDatabase "admin"<<EOF
   var cfg = {
        "_id": "replset0",
        "members": [
            {
                "_id": 0,
                "host": "192.168.1.233:27018"
            }
        ]
    };
    rs.initiate(cfg, { force: true });
    rs.reconfig(cfg, { force: true });
EOF
exec "$@"

После выполнения mongod --replSet replset0, mongo Невозможно выполнить. Я хочу знать, что вы можете сделать. Большое спасибо.

...