【问题标题】:Why does different container of same elasticsearch image on docker exits out?为什么docker上相同elasticsearch图像的不同容器退出?
【发布时间】:2016-10-18 11:35:50
【问题描述】:

我尝试运行相同的 Elastic Search 图像两次,但一个容器退出。只有一个 elasticsearch 容器运行,其他容器退出。任何解决方案/建议都会有所帮助。我使用以下命令运行它:

docker run -d my_es:v3 elasticsearch

下面是退出进程的日志文件。

root@ubuntu-512mb-nyc3-01:~/AnyElastic# docker logs e2cbd47927af
[2016-06-16 21:36:12,339][INFO ][node                     ] [Angela Del Toro] version[2.3.3], pid[1], build[218bdf1/2016-05-17T15:40:04Z]
[2016-06-16 21:36:12,343][INFO ][node                     ] [Angela Del Toro] initializing ...
[2016-06-16 21:36:14,014][INFO ][plugins                  ] [Angela Del Toro] modules [reindex, lang-expression, lang-groovy], plugins [], sites []
[2016-06-16 21:36:14,053][INFO ][env                      ] [Angela Del Toro] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/vda1)]], net usable_space [13.9gb], net total_space [19.5gb], spins? [possibly], types [ext4]
[2016-06-16 21:36:14,053][INFO ][env                      ] [Angela Del Toro] heap size [1015.6mb], compressed ordinary object pointers [true]
[2016-06-16 21:36:20,241][INFO ][node                     ] [Angela Del Toro] initialized
[2016-06-16 21:36:20,241][INFO ][node                     ] [Angela Del Toro] starting ...
[2016-06-16 21:36:20,400][INFO ][transport                ] [Angela Del Toro] publish_address {172.17.0.3:9300}, bound_addresses {[::]:9300}
[2016-06-16 21:36:20,407][INFO ][discovery                ] [Angela Del Toro] elasticsearch/ketVVDMtQCeBwj-x64E5yQ
[2016-06-16 21:36:23,565][INFO ][cluster.service          ] [Angela Del Toro] new_master {Angela Del Toro}{ketVVDMtQCeBwj-x64E5yQ}{172.17.0.3}{172.17.0.3:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
[2016-06-16 21:36:23,605][INFO ][http                     ] [Angela Del Toro] publish_address {172.17.0.3:9200}, bound_addresses {[::]:9200}
[2016-06-16 21:36:23,607][INFO ][node                     ] [Angela Del Toro] started
[2016-06-16 21:36:23,670][INFO ][gateway                  ] [Angela Del Toro] recovered [0] indices into cluster_state

【问题讨论】:

  • 你能发布如何运行容器吗?我想,可能是端口冲突。
  • 我用这个命令运行:docker run -d my_es:v3 elasticsearch
  • 你能发布任何可以帮助的东西吗?日志输出还是docker 命令的输出?
  • my_es:v3 的目的是什么?我认为这是问题所在。
  • 我实际上有一种令人讨厌的感觉,您的内核 OOM(内存不足)杀手正在启动。根据机器主机名,我假设您的机器中只有 512MB 的 RAM ,并且 ElasticSearch 假设它有一个 1GB 的堆。做一些事情:在工作容器上运行docker stats 来确定它正在使用多少内存,运行free -m 来找出你还剩下多少内存,然后运行dmesg 并寻找任何提到“OOM”的东西" 看看是否有东西被 OOM 杀死。

标签: image elasticsearch docker containers exit


【解决方案1】:

我认为 my_es:v3 是你的问题。如果您尝试命名容器,请使用 --name 选项。此外,您不能在名称中使用 ':'。

docker run -d --name my_es elasticsearch

【讨论】:

  • 我不认为 : 是问题所在,它是定义标签的一种方式。图像名称为 my_es,标签为 v3。所以这不是问题
  • 对不起,我的错。我对你的运行命令中的elasticsearch 感到困惑。由于它是默认入口点,因此您可以在运行时忽略它。 docker run -d my_es:v3 就足够了。
  • 我已将dockerfile中的CMD指定为elasticsearch,因此我在运行命令中添加了elasticsearch
  • Okies.. slugionamission 的解决方案解决了您的问题。太好了.. :).
【解决方案2】:

是的,通过查看日志,内存是问题所在,因为 linux box 上只有 512mb ram,并且当时运行的容器很多,所以弹性搜索的其他容器会退出。这是以前没有人遇到过的事情。结论:端口不是问题,只要你有足够的内存来运行这些 docker 容器,你可以多次运行相同的图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2015-03-28
    • 2022-08-24
    • 1970-01-01
    • 2022-01-19
    • 2016-12-23
    • 2018-10-08
    • 1970-01-01
    相关资源
    最近更新 更多