Este código ainda não está pronto para produção uma vez que os arquivos de chave e user e senha precisam ser gerados dinamicamente e como pode-se observar no arquivo docker compose
A estratégia para a implementação utiliza-se de um cliente efêmero que realizará uma configuração forçada no cluster a partir do nó master
É necessário definir a variável de ambiente DATA_DIR com o valor db_data para poder executar o projeto
Os arquivos dentro da pasta ${DATA_DIR} se tratam das persistencias do nó do mongo e não devem ser versionados
Comandos Auxiliares:
Para criar um cliente que tenha acesso ao cluster:
docker run --name mongo_client -d --network mongoreplnode_default mongo:3.4.10
Para acessar o container que foi criado como cliente:
docker exec -it mongo_client bash
Para acessar o cluster, já dentro do cliente:
mongo -u tom -p 'jerry' --host my-mongo-set/mongo-master:27017,mongo-sec-2:27017,mongo-sec-3:27017