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

Mac M1(Silicon)设备如何正确运行ARM64架构Redis Docker容器?

M1芯片Mac运行原生Arm64版Redis配置方法

redis:alpine官方镜像本身已经提供Arm64架构的原生构建,出现AMD64标识、通过Rosetta转译运行的问题,是Docker拉取镜像时默认匹配到了x86版本导致的,按下面的方法操作即可解决,不需要更换镜像标签。

运行时触发的AMD64转译警告

临时指定架构(单次生效,无需改全局配置)

执行构建、运行命令时追加--platform linux/arm64/v8参数,强制Docker拉取对应Arm64架构的镜像即可:

  • 直接启动官方Redis镜像:
    docker run --platform linux/arm64/v8 -p 6379:6379 redis:alpine
  • 基于现有Dockerfile构建自定义镜像:
    docker build --platform linux/arm64/v8 -t my-redis .
  • 启动构建好的自定义镜像(挂载自定义redis.conf配置):
    docker run --platform linux/arm64/v8 -p 6379:6379 my-redis redis-server /usr/local/etc/redis/redis.conf

如果之前本地已经缓存了x86版本的redis:alpine镜像,先执行docker rmi redis:alpine删除旧镜像再执行上述命令,否则Docker会直接复用本地缓存的x86镜像,不会重新拉取Arm64版本。

配置默认架构(全局生效,无需每次加参数)

如果日常都是在M1系列Mac上使用Docker,可以直接修改Docker默认平台配置,一劳永逸解决问题:

  1. 打开Docker Desktop设置,找到「Docker Engine」配置页
  2. 在JSON配置中新增"default-platform": "linux/arm64/v8"字段,参考配置如下:
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "default-platform": "linux/arm64/v8"
}
  1. 点击应用并重启Docker,之后所有镜像拉取、构建操作都会默认优先匹配Arm64版本,不会再自动拉取x86镜像触发转译。

验证是否配置成功

镜像拉取或构建完成后,执行命令查看镜像实际架构:
docker image inspect redis:alpine | grep Architecture
当输出显示"Architecture": "arm64"时,说明已经运行在原生Arm架构上,之前的AMD64警告会消失,也不会存在Rosetta转译带来的性能损耗。

你当前使用的Dockerfile不需要做任何修改,redis:alpine本身就是多架构清单标签,已经内置了Arm64、x86等不同架构的构建包,只需要在拉取、运行环节指定对应平台即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 09:54:29