我正在使用mongodb 3.4(.7)官方docker映像。当我在远程主机上使用ip运行mongodump时,一切正常,但是当我使用主机名运行mongodump时,它不起作用,并且出现以下错误:
Failed: error connecting to db server: no reachable servers.
并且当我ping主机名时,它会将主机名解析为ip。所以我认为这不是DNS问题。
第一个命令(有效):
mongodump '--host' '127.0.0.1' '--port' '27017' '--username' '' '--password' '' '--authenticationDatabase' 'admin' '--out' '/var/www/storage/app/backup/all-2017-10-02-122911/digipeyk' '--oplog'
第二个命令(给出错误):
mongodump '--host' 'digiserver_db' '--port' '27017' '--username' '' '--password' '' '--authenticationDatabase' 'admin' '--out' '/var/www/storage/app/backup/all-2017-10-02-122911/digipeyk' '--oplog'
我再次重复
ping digiserver_db
将主机名正确解析为ip。
最奇怪的是下面的命令也起作用:)
mongo '--host' 'digiserver_db' '--port' '27017'
执行上述命令后,我在远程mongodb shell中。
mongodump --username webdevil --db webdevildb --authenticationDatabase admin --password "123123" --out /your/specific/path