简体   繁体   English

在Windows / Docker上找不到mongodump

[英]Can't find mongodump on Windows/Docker

I am trying to dump my mongodb, which is currently in a docker container on windows. 我试图转储我的mongodb,该文件当前在Windows上的docker容器中。 I run the following command: 我运行以下命令:

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

The output is something like this (with no errors): "writing db.entity to " "done dumping db.entity" 输出是这样的(没有错误):“将db.entity写入”“完成转储db.entity”

However, I cannot find the actual dump. 但是,我找不到实际的转储。 I have checked C:/backup, my local directory. 我已经检查了本地目录C:/ backup。 Tried renaming the output and volumes, but with no luck. 尝试重命名输出和卷,但是没有运气。 Does anyone know where the dump is stored? 有谁知道转储的存储位置?

I have been trying to do the same. 我一直在尝试做同样的事情。 I have written a shell script which does this process of backing up the data as you require. 我编写了一个shell脚本,该脚本执行此过程以根据需要备份数据。 You first need to run the container with a name (whatever you wish that container name to be) 首先,您需要使用一个名称运行容器(无论您希望使用哪个容器名称)

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM