无法在Windows / Docker上找到mongodump

时间:2018-01-21 00:24:06

标签: windows mongodb docker mongodump

我正在尝试转储我的mongodb,它目前位于windows上的docker容器中。我运行以下命令:

docker run --rm --link docker-mongodb_1:mongo --net docker_default -v /backup:/backup mongo bash -c "mongodump --out /backup/ --host mongo:27017"

输出是这样的(没有错误): "将db.entity写入" "完成转储db.entity"

但是,我找不到实际的转储。我检查了C:/ backup,我的本地目录。尝试重命名输出和音量,但没有运气。有谁知道存储转储的位置?

1 个答案:

答案 0 :(得分:0)

我一直在努力做同样的事情。我编写了一个shell脚本,可以根据需要执行备份数据的过程。首先需要使用名称运行容器(无论您希望容器名称是什么)

BACKUP_DIR="/backup"
DB_CONTAINER_ID=$(docker ps -aqf "name=<**name of your container**>")
NETWORK_ID=$(docker inspect -f "{{ .NetworkSettings.Networks.root_default.NetworkID }}" $DB_CONTAINER_ID)

docker run -v $BACKUP_DIR:/backup --network $NETWORK_ID mongo:3.4 su -c "cd /backup && mongodump -h db -u <username> -p <password> --authenticationDatabase <db_name> --db <db_name>"

tar -zcvf $BACKUP_DIR/db.tgz $BACKUP_DIR/dump
rm -rf $BACKUP_DIR/dump