docker-与 MongoDb 和卷组合 - 似乎没有安装
docker-compose with MongoDb and volumes - doesn't seem to be mounted
我正在尝试 运行 产生 Redis
和 MongoDb
实例并且(应该)提供 MongoDb
的 docker-compose
操作] 通过 volumes
规范从主机获得 data-file
的实例。
我可以使用以下命令成功启动容器 docker-compose.yml
:
redis:
image: redis
ports:
- "6379:6379"
mongo:
image: mongo:latest
volumes:
- ./data/db:/data/db
ports:
- "27017:27017"
command: --rest
假设它应该 'mount' 目录 data/db
其中 data
目录紧挨着 docker-compose.exe
文件。
我可以同时连接到 Redis
和 MongoDb
,但是对执行 count()
returns 0
的集合的简单查询(应该包含数据)。这让我相信 volumes
属性 的安装不起作用。
如果我检查容器上的文件结构,我没有看到 /data
文件夹...我是不是遗漏了什么...感谢您的指导!
您显示的是运行 docker 守护程序的基于 boot2docker, the TinyCore 的 Linux 主机的文件系统。
不是:
- 你的本地
./data/db
在哪里 (it should be right beside the docker-compose.yml
file)
- 你安装的
/data/db
所在的位置:它应该安装在 mongo 容器中
只有当您的文件位于 C:\users\...
或 /Users/...
中时才有效,这是 VirtualBox 在 Linux VM 中装载的唯一主机文件夹。
要检查是否已安装,请执行 docker exec mongo bash
,在该容器中打开 bash 并检查 ls /data
。
我正在尝试 运行 产生 Redis
和 MongoDb
实例并且(应该)提供 MongoDb
的 docker-compose
操作] 通过 volumes
规范从主机获得 data-file
的实例。
我可以使用以下命令成功启动容器 docker-compose.yml
:
redis:
image: redis
ports:
- "6379:6379"
mongo:
image: mongo:latest
volumes:
- ./data/db:/data/db
ports:
- "27017:27017"
command: --rest
假设它应该 'mount' 目录 data/db
其中 data
目录紧挨着 docker-compose.exe
文件。
我可以同时连接到 Redis
和 MongoDb
,但是对执行 count()
returns 0
的集合的简单查询(应该包含数据)。这让我相信 volumes
属性 的安装不起作用。
如果我检查容器上的文件结构,我没有看到 /data
文件夹...我是不是遗漏了什么...感谢您的指导!
您显示的是运行 docker 守护程序的基于 boot2docker, the TinyCore 的 Linux 主机的文件系统。
不是:
- 你的本地
./data/db
在哪里 (it should be right beside thedocker-compose.yml
file) - 你安装的
/data/db
所在的位置:它应该安装在 mongo 容器中
只有当您的文件位于 C:\users\...
或 /Users/...
中时才有效,这是 VirtualBox 在 Linux VM 中装载的唯一主机文件夹。
要检查是否已安装,请执行 docker exec mongo bash
,在该容器中打开 bash 并检查 ls /data
。