Skip to main content

Apple M1 processor

在使用了 Apple M1 的笔记本后,在 docker 使用遇到了一些问题,这里做些笔记记录下来

pull image error

Error "no matching manifest for linux/arm64/v8 in the manifest list entries"

在我尝试想要 pull 下来时,得到上面的一个错误;同样的问题,我在编写 Dockerfile 和 docker-compose.yml 都遇到这样的问题

docker-compose.yml

version: '3.9'

services:
# Database
db:
image: mysql-server:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: pass
MYSQL_DATABASE: wp
MYSQL_USER: wp
MYSQL_PASSWORD: wp
networks:
- wpsite

解决思路

需要指定下 plaform ,当我运行在 Apple M1 上,变更部分如下:

services:
# Database
db:
platform: linux/x86_64 # set platform
image: mysql-server:5.7
...

如果只是在 docker pull 时,增加指定参数即可:

docker pull --plaform linux/x84_64 mysql-server:5.7