Em hola.cloud nós migramos um MongoDB 3.6 entre máquinas. Para garantir que não tenhamos contratempos com as versões, utilizamos exatamente a mesma versão com as imagens Docker oficiais. Deixo aqui alguns scripts que nos foram úteis.

export.sh

#!/bin/bash # check argument if [ -z "${1:-}" ]; then echo "Use: $0 <folder_name>" exit 1 fi BACKUP_DIR="$1" mkdir -p "$BACKUP_DIR" docker run --rm --network host \ -v $(pwd)/$BACKUP_DIR:/backup \ mongo:3.6 \ bash -c 'mongodump --host 127.0.0.1 --port 27017 --out /backup'

import.sh

#!/bin/bash set -euo pipefail # check argument if [ -z "${1:-}" ]; then echo "Use: $0 <backup_folder>" exit 1 fi BACKUP_DIR="$1" if [ ! -d "$BACKUP_DIR" ]; then echo "Error: folder '$BACKUP_DIR' does NOT exist" exit 1 fi docker run --rm --network host \ -v "$(pwd)/$BACKUP_DIR":/backup \ mongo:3.6 \ bash -c "mongorestore --host 127.0.0.1 --port 27017 /backup"

shell.sh

#!/bin/bash set -euo pipefail docker run -ti --rm --network host \ -v "$(pwd)/shell":/shell \ mongo:3.6 \ bash -c "mongo --host 127.0.0.1 --port 27017"