En el siguiente artículo mostraré como crear una base de datos de MongoDB replicada para desarrollos locales o de pruebas. Como requisito antes de empezar se debe tener instalado docker en nuestro ordenador.
En la carpeta de tu elección crear un archivo llamado docker-compose.yaml con el siguiente contenido:
services:
db1:
restart: always
image: mongo:latest
command: --replSet rs0 --port 27018
ports:
- 27018:27018
volumes:
- db1:/data/db
db2:
restart: always
image: mongo:latest
command: --replSet rs0 --port 27019
ports:
- 27019:27019
volumes:
- db2:/data/db
volumes:
db1:
db2:docker-compose.yamlPara crear nuestros contenedores y acceder a uno de ellos ejecutamos los siguientes comandos en nuestra terminal:
# crear las máquinas virtuales
docker compose -p mongo up -d
# listar contendores
docker ps
# accede al contenedor por el puerto 27018 o 27019
docker exec -it <id-del-contenedor> mongo --port <puerto-de-mongo>
# ejemplo
docker exec -it 1a5f5e82bed8 mongosh --port 27018Una vez dentro iniciamos la replica con los siguientes comandos:
rs.initiate({
"_id": "rs0",
"members": [
{
"_id": 0,
"host": "172.17.0.1:27018"
},
{
"_id": 1,
"host": "172.17.0.1:27019"
}
]
})Listo! Testeamos nuestra replica de pruebas accediendo a ella con:
mongosh "mongodb://127.0.0.1:27018,127.0.0.1:27019/?replicaSet=rs0"No olvidar que esta base de datos no tiene seguridades, es para fines de pruebas o desarrollo local y de ninguna manera se debería considerar para un ambiente de producción
Deja una respuesta