docker-compose для создания репликации в mongoDB - PullRequest
0 голосов
/ 30 апреля 2019

Я настраиваю докер-контейнер для инициализации набора реплик БД Mongo с помощью docker compose.Я не могу этого сделать.Я создал docker-compose для вызова трех экземпляров mongo, но у меня проблема с парсером.Ниже мой Docker-Compose файл.

version: '3'
services:
 mongo-vauto-1:    
    image: "mongo-start"
    build: ./mongo-vAUTO-1
    ports:
      - "30000:27017"
    volumes:
      - ./mongo-vAUTO-1/data:/data/db
    depends_on:
      - "mongo-vauto-2"
      - "mongo-vauto-3"

 mongo-vauto-2:
    image: "mongo"
    command: --replSet vAUTO --smallfiles --oplogSize 128
    ports:
      - "40000:27017"
    volumes:
      - ./mongo-vAUTO-2/data:/data/db

 mongo-vauto-3:
    image: "mongo"
    command: --replSet vAUTO --smallfiles --oplogSize 128
    ports:
      - "50000:27017"
    volumes:
      - ./mongo-vAUTO-3/data:/data/db

 mongo-setup-vauto:
    image: "mongo-setup-vauto"
    build: ./setup
    depends_on:
      - "mongo-vauto-1"

, который вызывает Dockerfile , который находится в папке ./setup.Ниже мой настроенный Dockerfile

FROM mongo

# Create app directory
WORKDIR vauto-docker/src/config

# Install app dependencies
COPY replicaSet.js .
COPY setup.sh .

CMD ["./setup.sh"]

, который вызывает replicaSet.js и setup.sh .Файлы replicaSet.js и setup.sh представлены ниже

# replicaSet.js
rsconf = {
    _id : "vAUTO",
    members: [
        {_id : 0, host : "mongo-vauto-1:27017"},
        {_id : 1, host : "mongo-vauto-2:27017"},
        {_id : 2, host : "mongo-vauto-3:27017"}
    ]
}
rs.initiate(rsconf);
rs.conf();


#  setup.sh 
echo *********************************
echo Starting the replica set
echo *********************************

sleep 10 | echo waiting for the replica set to be intialized
mongo mongodb://mongo-vauto-1:27017 replicaSet.js

Dockerfile , для первого набора реплик приведены ниже

FROM mongo
WORKDIR vauto-docker/src/config
copy mongo.conf .
EXPOSE 27017
CMD ["--config","./mongo.conf"]

и мой файл mongo.confимеет следующий код

replication:
  oplogSizeMB: 1024
  replSetName: vAUTO

Я получаю следующую ошибку,

mongo-vauto-1_1      | parse error: Invalid numeric literal at line 1, column 14
mongo-vauto-1_1      | parse error: Invalid numeric literal at line 1, column 14
mongo-vauto-1_1      | Error parsing YAML config file: yaml-cpp: error at line 3, column 1: illegal tab when looking for indentation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...