我正在使用docker来托管mongo数据库,现在我正在尝试转储整个数据库。一切都工作正常,除了没有创建文件。完全没有错误。 这就是我试过的:
docker exec -ti mongodb mongodump --out /backup --host localhost -u admin -p admin
我正在使用DockerHub中的tutum/mongodb
图片。
执行该命令后,这是完整日志:http://pastebin.com/SXCqv16v
编辑:
输出docker inspect mongodb
:http://pastebin.com/5sdheAwK
我的docker-compose.yml文件:http://pastebin.com/JmfKbtdJ
答案 0 :(得分:0)
我相信您只需要将/ backup目录映射到docker主机上的卷。将您的docker compose mongodb条目更改为(用主机上的相应文件夹替换/ hostbackupdir)
mongodb:
image: tutum/mongodb
environment:
- MONGODB_PASS=admin
- MONGODB_USER=admin
container_name: mongodb
volumes:
- /hostbackupdir:/backup
注意:将/ data / db目录映射到主机上的目录也可能不错。这将是(使用主机上相应的文件夹替换/ hostbackupdir和/ hostdatadir):
mongodb:
image: tutum/mongodb
environment:
- MONGODB_PASS=admin
- MONGODB_USER=admin
container_name: mongodb
volumes:
- /hostbackupdir:/backup
- /hostdatadir:/data/db
答案 1 :(得分:0)
这就是我解决它的方式。问题在于将主机文件夹与容器文件夹绑定:
mongodb:
image: tutum/mongodb
environment:
- MONGODB_PASS=admin
- MONGODB_USER=admin
container_name: mongodb
volumes:
- ../backup:/backup