docker - Elasticsearch Docker 容器因错误而崩溃:本机控制器进程已停止 - 无法启动新的本机进程
问题描述
我有一个简单的 docker 设置,我使用以下命令从 Docker Hub 中提取 Elastic search:
docker pull elasticsearch:7.6.2
提到了版本代码,因为它不适用于最新的标签。
然后我使用命令创建了一个 ElasticSearch 容器:
docker container run -d -p 9200:9200 --name elasticsearch elasticsearch:7.6.2
输入上述命令后,容器已创建并运行,但它运行了几秒钟,然后崩溃并显示错误消息:本机控制器进程已停止 - 无法启动新的本机进程。
以下是完整的错误 JSON
{"type": "server", "timestamp": "2020-04-07T19:28:05,721Z", "level": "INFO", "component": "o.e.x.m.p.NativeController", "cluster.name": "docker-cluster", "node.name": "c62b88f8807c", "message": "Native controller process has stopped - no new native processes can be started" }
我搜索并尝试了许多链接,我尝试重新创建容器,重新下载较低版本的图像,我什至尝试在 Docker > 设置 > 资源 > 高级中增加内存,但它仍然对我不起作用。
我已经尝试了以下链接的所有选项:https ://github.com/elastic/elasticsearch/issues/25067
请帮忙,先谢谢了!!!
解决方案
当您在开发模式下运行 elasticsearch docker 时,您需要discovery.type=single-node
避免生产引导检查,这会导致您的 docker 退出。
正如评论中提到的,添加discovery.type=single-node
解决了这个问题,下面是完整的命令。
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name elasticsearch elasticsearch:7.6.2
推荐阅读
- csv - 在蓝图中使用 flask_excel
- c# - 运行 ActionResult 后如何从控制器关闭视图
- sql - 循环遍历记录并找到最近的匹配并将结果写入新表
- c - 另一个函数中的 Malloc 和赋值
- excel - EXCEL-VBA 如何导出到 CSV ......自定义列范围?
- python-3.x - 不支持获取直通 GL 已禁用,即使已启用;无法运行网页抓取 python 脚本
- listview - Swiftui 列表更新问题
- javascript - 为什么我的 javascript/flask 语音识别代码将结果发布为 None 而没有附加输入框?
- symfony - 有没有办法在翻译中获得 %count% 的绝对数量?
- oauth-2.0 - 如何将客户端 ID 和秘密提供给第一方应用程序?