使用docker-compose运行Mongodb的一个令人讨厌的事情是,如果你在没有先停止撰写容器的情况下停止你的docker-machine(例如,如果你正在运行本地开发副本并重新启动你的笔记本电脑......)然后Mongo陷入了糟糕的状态。
当您尝试再次启动mongodb时,它会失败:
$ docker-compose logs mongodb
Attaching to dockerenvironment_mongodb_1
mongodb_1 | about to fork child process, waiting until server is ready for connections.
mongodb_1 | forked process: 12
mongodb_1 | ERROR: child process failed, exited with error number 100
对此的一般建议似乎是删除锁定文件'
但是我无法做到这一点,因为容器已经停止,我无法执行此操作。
如果我这样做(即开始一个新容器)
$ docker-compose run mongodb
root@a65901f9fc3d:/# ls /data/db
root@a65901f9fc3d:/#
...没有要删除的锁定文件。
我也试过
$ docker rm -v dockerenvironment_mongodb_1
但是当我开始它时,退出100再次失败
我不知道还有什么可以尝试,有人可以帮忙吗?