【问题标题】:How to restore mongoDb collection BSON backup files to docker abernix/meteord:node-8.4.0-base?如何将 mongoDb 集合 BSON 备份文件恢复到 docker abernix/meteord:node-8.4.0-base?
【发布时间】:2020-04-29 09:23:42
【问题描述】:

我已经使用以下命令从 mongoDb 集合中进行了备份

mongodump -h 127.0.0.1 --port 9001 -d meteor -c products

我已使用以下命令将转储文件夹递归复制到我的服务器

scp -r dump root@66.204.148.25:/root

我无法使用以下命令恢复

docker exec -i mongodb mongorestore -d mew -c audioQuestions_Joker dump/meteor

文件在那里,但我收到以下消息 2020-01-12T11:38:10.863+0000 失败:mongorestore 目标“转储/流星”无效:统计转储/流星:没有这样的文件或目录

从 BSON 文件恢复集合备份的正确命令是什么?

仅供参考 docker abernix/meteord:node-8.4.0-base

谢谢

【问题讨论】:

  • 这是因为docker在mongodb容器内搜索dump/meteor
  • 是的,但是如何恢复主机上而不是容器上的文件?

标签: mongodb docker ubuntu


【解决方案1】:

您需要拥有sudo 权限。

1 修改 MongoDB 容器的docker-compose.* 文件并添加新卷

假设你有这样的东西:

 mongo:
    image: mongo:4.2
    container_name: mongodb
    ports:
      - 27017:27017
    volumes:
      - "./local/path:/data/db"
      - "./local/tmp/path:/home"
    restart: always
    command: --auth

2 你需要build

sudo docker-compose -f docker-compose.yml up -d

3 在./local/tmp/pathdump 文件夹中复制并检查MongoDB 容器是否可以访问它。

sudo docker ps
sudo docker exec -it mongodb_CONTAINER ID /bin/bash
# ls /home - If you see there dump folder, continue step 4

4 现在,执行 MongoDB 恢复(您可以在 MongoDB 容器中执行)

mongorestore -d mew -c audioQuestions_Joker /home/dump/meteor

5如果已经恢复成功,再次更新docker-compose并移除- "./local/tmp/path:/home"并构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    相关资源
    最近更新 更多