当前位置: 首页 > 面试题库 >

为什么具有Elasticsearch状态的Docker映像始终重启?

安轶
2023-03-14
问题内容

unbuntu 16.04,RAM 1GB,在AWS实例上

我必须运行elasticsearch的旧实例,所以我想使用elasticsearch
5.3.3版本的docker镜像。通过查看具有相同标题的stackoverflow多个链接,我修改了基于docker
image的Elasticsearch的安装,如下所示

sudo docker run -p 9200:9200 -p 9300:9300 -d -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" -e "xpack.security.enabled=false" --restart=unless-stopped --name careerassistant-elastic  docker.elastic.co/elasticsearch/elasticsearch:5.3.3

安装完成,并且访问elasticsearch时遇到问题,尽管我对上述命令进行了多次修改,但无法解决问题。当上

sudo docker ps

状态仍然为-> 48秒前正在重启(1)

当我检查Docker的日志时,我无法理解任何内容,因为我是Docker及其使用的新手

> docker logs --tail 50 --follow --timestamps careerassistant-elastic

我得到以下输出

2020-05-04T09:36:00.552415247Z CmaTotal:              0 kB
2020-05-04T09:36:00.552418314Z CmaFree:               0 kB
2020-05-04T09:36:00.552421364Z HugePages_Total:       0
2020-05-04T09:36:00.552424343Z HugePages_Free:        0
2020-05-04T09:36:00.552427401Z HugePages_Rsvd:        0
2020-05-04T09:36:00.552430358Z HugePages_Surp:        0
2020-05-04T09:36:00.552433336Z Hugepagesize:       2048 kB
2020-05-04T09:36:00.552436334Z DirectMap4k:       67584 kB
2020-05-04T09:36:00.552439415Z DirectMap2M:      980992 kB
2020-05-04T09:36:00.552442390Z 
2020-05-04T09:36:00.552445460Z 
2020-05-04T09:36:00.552448777Z CPU:total 1 (initial active 1) (1 cores per cpu, 1 threads per core) family 6 model 63 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, lzcnt, tsc, bmi1, bmi2
2020-05-04T09:36:00.552452312Z 
2020-05-04T09:36:00.552455227Z /proc/cpuinfo:
2020-05-04T09:36:00.552458471Z processor    : 0
2020-05-04T09:36:00.552461695Z vendor_id    : GenuineIntel
2020-05-04T09:36:00.552464872Z cpu family   : 6
2020-05-04T09:36:00.552467992Z model        : 63
2020-05-04T09:36:00.552471311Z model name   : Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz
2020-05-04T09:36:00.552474616Z stepping : 2
2020-05-04T09:36:00.552477715Z microcode    : 0x43
2020-05-04T09:36:00.552480781Z cpu MHz      : 2400.040
2020-05-04T09:36:00.552483934Z cache size   : 30720 KB
2020-05-04T09:36:00.552486978Z physical id  : 0
2020-05-04T09:36:00.552490023Z siblings : 1
2020-05-04T09:36:00.552493103Z core id      : 0
2020-05-04T09:36:00.552496146Z cpu cores    : 1
2020-05-04T09:36:00.552511390Z apicid       : 0
2020-05-04T09:36:00.552515457Z initial apicid   : 0
2020-05-04T09:36:00.552518523Z fpu      : yes
2020-05-04T09:36:00.552521677Z fpu_exception    : yes
2020-05-04T09:36:00.552524702Z cpuid level  : 13
2020-05-04T09:36:00.552527802Z wp       : yes
2020-05-04T09:36:00.552531691Z flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single kaiser fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt
2020-05-04T09:36:00.552535638Z bugs     : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
2020-05-04T09:36:00.552538954Z bogomips : 4800.08
2020-05-04T09:36:00.552545171Z clflush size : 64
2020-05-04T09:36:00.552548419Z cache_alignment  : 64
2020-05-04T09:36:00.552551514Z address sizes    : 46 bits physical, 48 bits virtual
2020-05-04T09:36:00.552554916Z power management:
2020-05-04T09:36:00.552558030Z 
2020-05-04T09:36:00.552561090Z 
2020-05-04T09:36:00.552564141Z 
2020-05-04T09:36:00.552567135Z Memory: 4k page, physical 1014424k(76792k free), swap 0k(0k free)
2020-05-04T09:36:00.552570458Z 
2020-05-04T09:36:00.552573441Z vm_info: OpenJDK 64-Bit Server VM (25.131-b11) for linux-amd64 JRE (1.8.0_131-b11), built on Jun 16 2017 13:51:29 by "buildozer" with gcc 6.3.0
2020-05-04T09:36:00.552576947Z 
2020-05-04T09:36:00.552579894Z time: Mon May  4 09:36:00 2020
2020-05-04T09:36:00.552582956Z elapsed time: 0 seconds (0d 0h 0m 0s)
2020-05-04T09:36:00.552586052Z

有人可以帮我弄清楚docker status重新启动可能是什么问题吗?


问题答案:

我在t2.small具有2 GB RAM的AWSec2上运行我的docker容器,因为t2.micro内存(1GB)不足以运行Elasticsearch容器,因此,在您配置了更多东西之前,它也对您合适。
查看了您的日志,但没有看到任何错误,因此如果没有您的docker-file很难调试。

以下是我的docker-compose文件,用于在AWS t2.small实例的docker容器中运行Elasticsearch 7.6,请
让我知道它是否对您不起作用,并乐意为您提供进一步的帮助。

version: '2.2'
services:
  #Elasticsearch Docker Images: https://www.docker.elastic.co/
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0
    container_name: elasticsearch
    environment:
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    cap_add:
      - IPC_LOCK
    volumes:
      - elasticsearch-data:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
      - 9300:9300

volumes:
  elasticsearch-data:
    driver: local

您可以使用docker-compose up -d -e "discovery.type=single- node"命令运行它。如果遇到任何与内存相关的问题,请以非生产模式引用我的这个Elasticsearch docker容器以消除vm.max_map_count =262144要求的答案vm.max_map_count=262144 requirement



 类似资料:
  • 问题内容: Docker和虚拟机的映像是否存在差异?除了图像格式,我在任何地方都找不到任何信息。请注释掉图像大小,实例创建时间,捕获时间等内容。谢谢! 问题答案: 这些是我可以列出的docker和VM映像之间的一些区别: 1. Docker中的快照过程比VM更快 我们通常从基本映像开始,然后进行更改,然后使用docker提交这些更改,然后创建一个映像。该图像仅包含与基准的差异。当我们要运行图像时,

  • 在使用Docker时,我们从一个基图像开始。我们启动它,创建更改,这些更改保存在图层中,形成另一个图像。 所以最终我有了一个用于我的PostgreSQL实例的映像和一个用于我的web应用程序的映像,对这些映像的更改将持续保持。 什么是容器?

  • Docker和虚拟机的映像有什么区别吗?除了图像格式,我在任何地方都找不到任何信息。请评论像图像大小,实例创建时间,捕获时间等。谢谢!

  • 问题内容: 我的Docker映像构建在Jenkins CI服务器上,并被推送到我们的私有Docker Registry。我的目标是使用docker- compose配置环境,该环境始终会启动映像的原始构建状态。 我目前在不同的机器上使用docker-compose 1.3.2和1.4.0,但是我们之前也使用了旧版本。 我总是使用命令从注册表中获取新图像并启动它们。我相信我的首选行为在某个时间点之前

  • 问题内容: 我不明白为什么 ‘chown’ 命令应该增加我的docker映像的大小? 以下Dockerfile创建大小为5.3MB的映像: 但是,此示例创建的图像大小为8.7MB: 为什么? 注意: 我的实际dockerfile当然比该示例长得多,因此映像大小的增加也很大。这就是为什么我什至在乎。 问题答案: Dockerfile中的每个步骤都会生成一个新的中间映像或“层”,该文件由文件系统中与上

  • 问题内容: 我通过Fedora的Dockerfile创建了一个简单的映像(最初为320 MB)。 添加了Nano(这个1MB大小的微型编辑器),图像的大小已增加到530 MB。我在此基础上添加了Git(30-ish MB),然后将图像大小的火箭提高到830 MB。 那不是疯了吗? 我试图导出和导入容器以删除历史记录/中间图像。这项工作最多可节省25 MB,现在我的图像大小为804 MB。我也尝试过