在 Docker 容器内关闭 MongoDB 导致 100% CPU
Shutting down MongoDB inside Docker container causes 100% CPU
几天来我一直在纠结这个问题,以至于我要把它放在这里。使用 docker-compose 我启动了几个容器,其中一个是 运行ning mongodb,使用 CMD ["/usr/bin/mongod"] 但是,当我关闭容器时使用docker 停止,mongod 进程占用 100% cpu 并且永远保持 运行ning 而无法杀死它。当终止父进程时,mongod 进程成为 init 的子进程,但处于相同的状态。 Mongodb 确实记录了它以错误代码 0 关闭。
Docker 版本:17.04.0-ce
Docker-撰写版本:1.11.2
到目前为止我尝试了什么:
- 不同的 linux 发行版
- 容器内的 supervisord 来处理 mongod
- 添加了 --init 到 docker 守护进程
- 运行 mongod 作为叉子
- 寻找内核更新,但 3.14 似乎是最新的(运行ning 在 Odroid C2 上)
- 不同的存储驱动,但只有 aufs 有效(overlay 需要更高的内核)
没有任何喜悦..
在 Odroid-C2 上使用 this link 将内核更新到 4.x 后,问题消失了。
几天来我一直在纠结这个问题,以至于我要把它放在这里。使用 docker-compose 我启动了几个容器,其中一个是 运行ning mongodb,使用 CMD ["/usr/bin/mongod"] 但是,当我关闭容器时使用docker 停止,mongod 进程占用 100% cpu 并且永远保持 运行ning 而无法杀死它。当终止父进程时,mongod 进程成为 init 的子进程,但处于相同的状态。 Mongodb 确实记录了它以错误代码 0 关闭。
Docker 版本:17.04.0-ce Docker-撰写版本:1.11.2
到目前为止我尝试了什么:
- 不同的 linux 发行版
- 容器内的 supervisord 来处理 mongod
- 添加了 --init 到 docker 守护进程
- 运行 mongod 作为叉子
- 寻找内核更新,但 3.14 似乎是最新的(运行ning 在 Odroid C2 上)
- 不同的存储驱动,但只有 aufs 有效(overlay 需要更高的内核)
没有任何喜悦..
在 Odroid-C2 上使用 this link 将内核更新到 4.x 后,问题消失了。