mongodb - docker-compose 与 MongoDb 和卷 - 似乎没有安装

标签 mongodb docker docker-compose volumes

我正在尝试运行 docker-compose 操作,该操作会生成 RedisMongoDb 实例,并且(应该)提供通过 volumes 规范从主机 PC 获取带有数据文件MongoDb 实例。

我可以使用以下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文件旁边.

enter image description here

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

如果我检查容器上的文件结构,我没有看到 /data 文件夹... 我在这里遗漏了什么吗...感谢您的指导!

enter image description here

最佳答案

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

只有当您的文件位于 C:\users\.../Users/...(这是唯一安装的主机文件夹)时,这才有效通过 Linux VM 中的 VirtualBox。

要检查挂载是否已发生,请执行docker exec mongo bash,在该容器中打开 bash 并检查ls/data

关于mongodb - docker-compose 与 MongoDb 和卷 - 似乎没有安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979866/

相关文章:

docker - 使用 docker-swarm 进行小型网站的生产托管

mysql - Docker-compose:将文件从本地环境复制到 EC2 实例

android - Mongoose 时间戳和纪元转换为 Date() 的问题

docker - 在 docker-compose 文件中启用 "progress plain"

node.js - Nodemon 使我的 Kubernetes 部署崩溃(导致问题的 Node 模块)

linux - Docker 构建失败 : returned a non-zero code: 1

docker-compose:容器时区

python - 将 Twitter 推文从 MongoDB 转储到 COSMOS

javascript - 如何在 Mongoose 中检索子文档

javascript - MongoDB Mongoose 聚合/数学运算