M1 Mac VSCode中Docker Compose报错:无法安装mongodb-database-tools
故障原因
- M1系列芯片为ARM64架构,当前Dockerfile下载的
mongodb-database-tools是x86_64架构安装包,和镜像运行架构不匹配,无法安装。 - 原Dockerfile中
apt install命令未加-y自动确认参数,即便架构匹配也会卡在交互步骤导致构建失败。
修复方案
两种方案选一个即可:
方案1(推荐,兼容性最好):构建时指定x86架构平台,镜像通过Rosetta 2转译运行,不会有额外的架构兼容问题。
构建镜像时执行如下命令:docker build --platform linux/amd64 -t 自定义镜像名 .同时把Dockerfile里安装mongodb工具的命令补上
-y参数,修改为:RUN apt install -y ./mongodb-database-tools-*-100.5.3.deb && rm -f ./mongodb-database-tools-*.deb方案2(原生ARM运行):替换安装包为ARM64版本,适配M1芯片架构。
把Dockerfile里下载mongodb工具的命令中,安装包文件名里的x86_64改为arm64,同时给安装命令加-y参数,修改后对应两行:RUN wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian11-arm64-100.5.3.deb RUN apt install -y ./mongodb-database-tools-*-100.5.3.deb && rm -f ./mongodb-database-tools-*.deb选这个方案需要注意,前面配置的MongoDB源必须支持ARM64架构,否则安装
mongodb-mongosh步骤也会报错,嫌麻烦直接用方案1即可。
内容的提问来源于stack exchange,提问作者May1985
相关产品推荐
相关产品推荐

