由于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 .