错误:无法找到libjava.错误:找不到Java SE运行时环境.在docker上运行elasticsearch 6.



我在从Apple Intel芯片迁移到Apple M1芯片时遇到了这个问题。我使用的是最新版本的docker桌面3.6.0和macbook pro 13;(2020)。

遗憾的是,我无法从6.5.4升级elasticsearch版本。

大家有什么办法吗?

这是docker-compose。yml文件

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
container_name: es01
environment:
- node.name=es01
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/usr/share/elasticsearch/data
ports:
- 9200:9200

这是我得到的错误

Error: could not find libjava.so  
Error: Could not find Java SE Runtime Environment.

以下配置在Apple Macbook pro 13"(2020) - M1芯片

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0-arm64
container_name: es01
environment:
- node.name=es01
- bootstrap.memory_lock=true
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/usr/share/elasticsearch/data
ports:
- 9200:9200

根据这篇在ARM上运行Elasticsearch的文章,elastic在docker中的ARM版本仅在7.8.0之后可用