Дамп и восстановление MongoDB

Я установил монго с помощью докера. Теперь мне нужно взять дамп mongodb и восстановить.

1) где я могу скачать эти два инструмента?
2) Мне не нужно устанавливать полный монго, так как монго уже установлен с помощью докера, мне просто нужно загрузить эти два инструмента монго и использовать IP и ПОРТ docker mongo для создания дампа и восстановления.

Спасибо,
Гарри


person Harry    schedule 03.02.2019    source источник


Ответы (1)


MongoDB устанавливает этот инструмент рядом с основной базой данных, поэтому вы можете просто выполнять команды внутри контейнера или установить mongod в своей системе и использовать эту команду ниже для получения данных MongoDB:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz

Кроме того, вы можете получить эти утилиты без ядра mongo. вот пример пакета для alpine-linux: mongodb-tools. а для другого дистрибутива вы можете сделать это самостоятельно: mongodb-tools

person amir    schedule 03.02.2019
comment
Я согласен, что мы можем использовать docker exec, но мне нужно подключиться к этому докеру с другой машины, за этот ответ я проголосовал за ???????? - person Harry; 03.02.2019
comment
@ Гарри, так почему бы не запустить другую машину только с утилитами, необходимыми для получения экспортируемых данных? Я имею в виду создать новый mongodb на докере и использовать его только для экспорта и импорта. - person amir; 03.02.2019
comment
спасибо за вашу мысль, но есть ли способ получить только инструменты mongodump и mongorestore? Так что я не хочу зависеть от докера на других машинах - person Harry; 03.02.2019
comment
Я приму ваш ответ, у меня есть разъяснение: как работает docker exec для mongorestore? docker exec f1d566 sh -c 'exec mongorestore --host 172.17.0.2 --port 27017 /home/test/mongo/dump_2019-02-03.gz' — эта команда завершается с ошибкой: Failed: mongorestore target '/home /test/mongo/dump_2019-02-03.gz' недействителен: stat /home/test/mongo/dump_2019-02-03.gz: нет такого файла или каталога - person Harry; 03.02.2019