You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Mac M1上构建支持arm64的Elasticsearch 2.3.4 Docker镜像

问题描述

我在Mac M1上尝试运行Docker elasticsearch:2.3.4 容器,但启动失败,原因是该镜像仅支持 linux/amd64 架构。而最新的 ElasticSearch:8.5.1 镜像同时支持 linux/amd64 和 linux/arm64/v8 架构。

由于遗留系统限制,我必须使用ES 2.3.4版本。我尝试构建支持arm64的ES 2.3.4镜像,创建了仅包含以下指令的Dockerfile:

FROM elasticsearch:2.3.4

执行构建命令:

docker buildx build --push --platform linux/amd64,linux/arm64 --tag myrepo/elasticsearch:2.3.4 .

出现如下错误:

[+] Building 4.0s (6/6) FINISHED                                                                                                                                                                                                                            
=> [internal] load .dockerignore                                                                                                                                                                                                                      0.0s
=> => transferring context: 2B                                                                                                                                                                                                                        0.0s
=> [internal] load build definition from Dockerfile                                                                                                                                                                                                   0.0s
=> => transferring dockerfile: 61B                                                                                                                                                                                                                    0.0s
=> [linux/amd64 internal] load metadata for docker.io/library/elasticsearch:2.3.4                                                                                                                                                                     3.9s
=> [linux/arm64 internal] load metadata for docker.io/library/elasticsearch:2.3.4                                                                                                                                                                     3.9s
=> ERROR [linux/arm64 1/1] FROM docker.io/library/elasticsearch:2.3.4@sha256:7a09f0b9204b0e331eb7031bf30e12c8138c53c61938d59bb07b9a1c6de93483                                                                                                         0.0s
=> => resolve docker.io/library/elasticsearch:2.3.4@sha256:7a09f0b9204b0e331eb7031bf30e12c8138c53c61938d59bb07b9a1c6de93483                                                                                                                           0.0s
=> ERROR [linux/amd64 1/1] FROM docker.io/library/elasticsearch:2.3.4@sha256:7a09f0b9204b0e331eb7031bf30e12c8138c53c61938d59bb07b9a1c6de93483                                                                                                         0.0s
=> => resolve docker.io/library/elasticsearch:2.3.4@sha256:7a09f0b9204b0e331eb7031bf30e12c8138c53c61938d59bb07b9a1c6de93483                                                                                                                           0.0s
------
 > [linux/arm64 1/1] FROM docker.io/library/elasticsearch:2.3.4@sha256:7a09f0b9204b0e331eb7031bf30e12c8138c53c61938d59bb07b9a1c6de93483:
------
------
> [linux/amd64 1/1] FROM docker.io/library/elasticsearch:2.3.4@sha256:7a09f0b9204b0e331eb7031bf30e12c8138c53c61938d59bb07b9a1c6de93483:
------
Dockerfile:1
--------------------
   1 | >>> FROM elasticsearch:2.3.4
--------------------
error: failed to solve: failed to load cache key: content digest : not found

我几乎找不到相关错误信息,想请教:

  • 最佳解决方法是什么?
  • 是否需要从头构建elasticsearch:2.3.4镜像?
  • 将现有amd64镜像迁移到arm64架构的方法是什么?

内容的提问来源于stack exchange,提问作者Shane Gannon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:31:20