【发布时间】:2018-09-12 20:13:03
【问题描述】:
我正在尝试创建一个 mongo 数据库容器,但无法使数据持久化。 这是我的 docker-compose.yml
version: "3.2"
services:
mongodb:
image: mongo:2.4
command: --smallfiles
ports:
- 27017:27017
volumes:
- type: volume
source: mongodb_data_volume
target: /data
volumes:
mongodb_data_volume:
external: true
在 docker-compose 和 exec -it 进入 mongodb 之后,我创建了一个新的空数据库,然后列出了挂载卷的内容:
root@cf8330019f91:/data/db# ls
_tmp admin.1 journal local.ns
admin.0 admin.ns local.0 mongod.lock
但是我做了一个上下循环,相同的安装卷被重置为初始值。
root@d18bda47d0b3:/data/db# ls
_tmp journal local.0 local.ns mongod.lock
我试图只停止容器而不是组合起来,然后数据仍然存在......这表明我仍在使用内部存储。如果是这种情况,我该如何让它使用外部卷?
我使用的是 mac 和 docker 版本 18.06.1-ce-mac73。
【问题讨论】:
-
您是否在 docker compose 之外创建了
mongodb_data_volume?如果外部标志设置为 true,则文档状态 docker compose 不会尝试创建卷:docs.docker.com/compose/compose-file/#external -
是的,该卷是之前创建的
标签: mongodb docker docker-compose