MacBook M1芯片本地运行Concourse遇平台不匹配问题求助
在MacBook M1芯片上运行Concourse的解决方案
方案1:通过Rosetta模拟运行amd64镜像
开启Docker Desktop的Rosetta模拟:
- 打开Docker Desktop,进入「设置」→「Features in development」
- 勾选「Use Rosetta for x86/amd64 emulation on Apple Silicon」,重启Docker
修改
docker-compose.yml,为Concourse服务指定amd64平台:
在concourse和worker服务下添加platform字段:services: concourse: image: concourse/concourse:latest platform: linux/amd64 # 保留原有配置(ports、volumes、command等) worker: image: concourse/concourse:latest platform: linux/amd64 # 保留原有配置(privileged、volumes、command等)清理本地旧镜像并重新启动:
docker rmi concourse/concourse:latest docker compose up -d
方案2:使用原生arm64镜像(推荐,性能更好)
Concourse已提供原生arm64架构的镜像,直接修改docker-compose.yml中的镜像标签:
services: concourse: image: concourse/concourse:latest-arm64 # 保留原有配置 worker: image: concourse/concourse:latest-arm64 # 保留原有配置
之后执行docker compose up -d即可启动原生arm64版本的Concourse。
排查注意点
- 确保Docker Desktop版本在4.0以上,旧版本对Apple Silicon的支持不完善
- 如果之前尝试过指定平台仍失败,先清理所有相关容器和镜像后再重新操作:
docker compose down -v docker system prune -af
内容的提问来源于stack exchange,提问作者RulerNature
相关产品推荐
相关产品推荐

