Mongodb docker内部的mongodump不';不要创建任何文件

Mongodb docker内部的mongodump不';不要创建任何文件,mongodb,docker,Mongodb,Docker,我正在使用docker托管mongo数据库,现在我正在尝试转储整个数据库。除了没有创建任何文件外,一切正常。完全没有错误。 这就是我所尝试的: docker exec -ti mongodb mongodump --out /backup --host localhost -u admin -p admin 我正在使用DockerHub的tututum/mongodb图像。 这是执行该命令后的完整日志: 编辑: docker inspect mongodb的输出 my docker-compo

我正在使用docker托管mongo数据库,现在我正在尝试转储整个数据库。除了没有创建任何文件外,一切正常。完全没有错误。 这就是我所尝试的:

docker exec -ti mongodb mongodump --out /backup --host localhost -u admin -p admin
我正在使用DockerHub的
tututum/mongodb
图像。 这是执行该命令后的完整日志:

编辑: docker inspect mongodb的输出


my docker-compose.yml文件:

我相信您只需要将/backup目录映射到docker主机上的卷。将docker compose mongodb条目更改为(将/hostbackupdir替换为主机上的相应文件夹)

注意:将您的/data/db目录也映射到主机上的目录可能不是一个坏主意。这类似于(将/hostbackupdir和/hostdatadir替换为主机上的相应文件夹):


我就是这样解决的。将主机文件夹与容器文件夹绑定时出现问题:

mongodb:
  image: tutum/mongodb
  environment:
    - MONGODB_PASS=admin
    - MONGODB_USER=admin
  container_name: mongodb
  volumes:
    - ../backup:/backup

它将备份写入docker容器中,除非您在启动mongo docker时共享该卷。你能发送docker run命令或docker inspect mongodb的输出吗?@jamiemcrindle我已经更新了我的问题正在编写备份,但它正在容器内编写。我猜你想把它放在docker外面?e、 g.在docker的/backup目录中host@JamieMcCrindle是的,这正是我不想工作的,我在主机内创建了/backup文件夹,并按照您的指示更新docker compose,但/backup目录为空
mongodb:
  image: tutum/mongodb
  environment:
    - MONGODB_PASS=admin
    - MONGODB_USER=admin
  container_name: mongodb
  volumes:
    - /hostbackupdir:/backup
    - /hostdatadir:/data/db
mongodb:
  image: tutum/mongodb
  environment:
    - MONGODB_PASS=admin
    - MONGODB_USER=admin
  container_name: mongodb
  volumes:
    - ../backup:/backup