有没有办法在ARM Mac上将Homebrew安装到Docker容器中

wljmcqd8  于 2023-04-05  发布在  Docker
关注(0)|答案(1)|浏览(127)

在开发团队中,我们使用了Windows、ARM Mac和AMD Mac。我试图为项目配置一个.devcontainer,以提高可移植性并减少加载工作。我有一个在Windows机器和AMD Mac上工作的容器,但在ARM Mac上尝试将自制软件安装到容器中时失败。容器构建失败,并显示以下消息:
Homebrew on Linux is not supported on ARM processors
这是一个极简的dockerfile,它复制了这个问题:

FROM mcr.microsoft.com/devcontainers/python:0-3.9
RUN curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh >> /tmp/install-homebrew.sh
RUN chmod +x /tmp/install-homebrew.sh
RUN NONINTERACTIVE=1 /bin/bash -c /tmp/install-homebrew.sh
RUN rm /tmp/install-homebrew.sh

有没有办法让这个容器在上面提到的每一个架构上都运行?不幸的是,客户端对brew命令有很大的依赖性(make files等),我们似乎不太可能在这方面改变它们,所以“不要在容器中使用自制软件”可能不是一个可行的选择。

x6yk4ghg

x6yk4ghg1#

在发布问题后不久,我遇到了一个潜在的答案。修改docker文件以指定平台,因为AMD让ARM Mac在仿真模式下运行它,并且到目前为止似乎可以正常工作。目前最大的担忧是使用仿真器可能会对性能产生影响。
简而言之,修改docker文件的第一行,以包含一个平台参数:
FROM --platform=linux/amd64 mcr.microsoft.com/devcontainers/python:0-3.9

相关问题