M1 Mysql8 docker-compose

7 min read

由于mac m1 芯片是arm 架构的,所以需要指定系统架构,docker-compose.yml 文件编排指定系统架构 platform: linux/x86_64,在M1(ARM)处理器上模拟运行x86_64进程

version: '3'

services:
  mysql:
    image: mysql:8.0.22
    platform: linux/x86_64
    container_name: mysqldb
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=test
      - MYSQL_DATABASE=DATA

在m1 pro芯片的mbp上打了一个docker镜像,传到linux下运行时出错了,后来排查到是cpu架构差异的问题
解决方案是使用docker buildx 来指定平台

docker buildx  build -t imageName --platform=linux/amd64 .