(mac)docker工人,在mongo中提交更改不起作用
新来的docker工人。 在mac
上使用boot2docker
运行。
- 运行一个没有数据的容器
docker run --name mongodb -p 27017:27017 -d mongo
。 - 将数据导入到它
mongorestore --host 192.168.59.104 -d dest source
导入工作,我看到在容器中的数据。 - 提交(不推)容器到图像
docker commit mongdb mongo
- 在停止,删除和重新启动时,数据不会被保存。
docker stop mongodb; docker rm mongdb; docker run --name mongodb -p 27017:27017 -d mongo
注意:导入后的docker commit在数据中不显示任何diff:
docker diff mongodb ✱ C /root C /root/.bash_history C /root/.dbshell C /tmp C /tmp/mongodb-27017.sock
看起来问题是mongo的Dockerfile包含的问题
VOLUME /data/db
因此,数据不会被存储在映像中,而是存储在boot2docker中。 一个解决scheme是使用mongo Dockerfile来构build自己的图像,但不包括VOLUME选项。