Criando script bash para instalar o conjunto de réplicas mongodb falha [fechado]

1

Este é o script que eu consegui criar:

#!/bin/bash

echo "Updating the system, this might take a couple minutes..."
sudo yum -y update


echo "Installing Docker"
curl -fsSL https://get.docker.com/ | sh


echo "Starting Services"
sudo systemctl start docker
sudo systemctl enable docker


echo "Creating Network..."
sudo docker network create mongo-cluster


echo "Creating 3 MongoDB Instances"
sudo docker run -p 30001:27017 --name primary --net mongo-cluster mongo 
mongod --replSet comments && sudo docker start primary

sudo docker run -p 30002:27017 --name failover1 --net mongo-cluster mongo 
mongod --replSet comments && sudo docker start failover1

sudo docker run -p 30003:27017 --name failover2 --net mongo-cluster mongo 
mongod --replSet comments && sudo docker start failover2


docker exec -it primary bash -c "echo 'primary = (new 
Mongo(\"localhost:27017\")).getDB(\"test\")' | mongo && echo 'config = 
{\"_id\": \"comments\",\"members\": [{\"_id\": 0,\"host\": 
\"primary:27017\"},{\"_id\": 1,\"host\":\"failover1:27017\"},{\"_id\": 
2,\"host\": \"failover2:27017\"}]}' | mongo && echo 'rs.initiate(config)' | 
mongo"

Por algum motivo, quando o último comando docker é executado, ele falha. Eu posso ver que as duas primeiras partes correm bem e vejo a saída na linha de comando, mas o rs.initiate falha. Razão é que ele não encontra nenhuma configuração ... Tanto quanto eu posso dizer, eu preciso executar os 3 comandos na mesma sessão de mongo caso contrário não furar. Por alguma razão, ao executar a última parte do script, a sessão do mongo termina após cada comando. Alguma idéia de como e como corrigir isso?

    
por BrainSweetiesss 30.07.2018 / 00:07

0 respostas