mongodb - 使用MongoDb和卷进行docker-compose-似乎未安装

我正在尝试运行docker-compose操作,该操作会生成一个RedisMongoDb实例,并且(应该)通过MongoDb规范从主机PC为data-file实例提供volumes

我可以使用以下docker-compose.yml成功启动容器:

redis:
  image: redis
  ports:
   - "6379:6379"
mongo:  
  image: mongo:latest
  volumes:
    - ./data/db:/data/db
  ports:
    - "27017:27017"
  command: --rest

假设它应该“挂载” data/db目录位于data文件旁边的docker-compose.exe目录。



我可以同时连接RedisMongoDb,但是对执行count()的集合的简单查询将返回0(应该包含数据)。这使我相信volumes属性的安装不起作用。

如果我检查容器上的文件结构,则看不到/data文件夹... 我在这里丢失了什么吗?感谢您的指导!

最佳答案

您正在显示的是boot2docker的文件系统,它是运行docker守护程序的基于TinyCore的Linux主机。
它不是:

  • 您本地的./data/db是(it should be right beside the docker-compose.yml file)
  • 您安装的/data/db所在的位置:应安装在mongo容器


  • 仅当文件位于C:\users\.../Users/...(这是Linux VM中由VirtualBox装入的唯一主机文件夹)中时,这才起作用。

    要检查是否已进行安装,请执行docker exec mongo bash,以在该容器中打开bash并检查ls /data

    https://stackoverflow.com/questions/34979866/

    相关文章:

    php - Docker-应用程序源代码更新

    docker - 如何与docker在当前目录中共享同名目录

    Makefile - 附加到命令

    ruby-on-rails - 运行 cucumber 而无需启动远程网站测试的启动 rails

    docker - 具有etcd键的容器依赖性

    docker - 如何在 bluemix 单个容器上访问 Wildfly 的 8080 和 9990

    ruby-on-rails - 添加狮身人面像容器docker-compose显示错误

    shell - Docker教程: Daemonized Container Closes - Sy

    docker - 使Docker容器成为VPN的一部分

    docker - 如何从集线器中提取Docker文件的版本?