如何为 Mac Silicon 运行 Redis docker 容器?

geo*_*sic 6 redis docker arm64 dockerfile

查看Redis镜像,https://hub.docker.com/_/redis,它说它支持Arm64。然而,当我在 Mac M1 上运行该映像时,它会显示一个AMD64警告标志(即,由于 Rosetta 仿真而导致性能不佳)

如何指定redis的ARM64版本?

这是 Dockerfile:

FROM redis:alpine
WORKDIR /usr/app
COPY conf/redis.conf /usr/local/etc/redis/redis.conf
EXPOSE 6379
Run Code Online (Sandbox Code Playgroud)

这是警告: 在此输入图像描述

我在 M1 Mac 上运行这个程序。

Fab*_*ira 8

您应该使用arm64v8/redis而不是默认值。所以,替换:

FROM redis:alpine
Run Code Online (Sandbox Code Playgroud)

为了:

FROM arm64v8/redis:alpine
Run Code Online (Sandbox Code Playgroud)

更多信息请参见: https://hub.docker.com/r/arm64v8/redis

或者,您可以使用--platformarg 或使用TARGETPLATFORM,如下所述:

https://nielscautaerts.xyz/making-dockerfiles-architecture-independent.html