【问题标题】:Qemu error when running gem install bundler on Docker with Apple Silicon M1使用 Apple Silicon M1 在 Docker 上运行 gem install bundler 时出现 Qemu 错误
【发布时间】:2021-05-18 22:55:57
【问题描述】:

当我运行 docker-compose up 时出现以下错误

qemu: uncaught target signal 6 (Aborted) - core dumped

当 docker-compose 运行命令 bundle install 时会发生这种情况

 => ERROR [5/6] RUN bundle install --jobs 4 --path .bundle/                                                                                                                  4.2s
------
 > [5/6] RUN bundle install --jobs 4 --path .bundle/:
#10 4.170 Fetching gem metadata from https://rubygems.org/.[BUG] Segmentation fault at 0x0000418f81e2b0
#10 4.177 ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]
#10 4.177
#10 4.177 SEGV received in SEGV handler
#10 4.178 -- Control frame information -----------------------------------------------
#10 4.178 SEGV received in SEGV handler
#10 4.178 SEGV received in SEGV handler
#10 4.178 qemu: uncaught target signal 6 (Aborted) - core dumped
#10 4.192 Aborted
------
executor failed running [/bin/sh -c bundle install --jobs 4 --path .bundle/]: exit code: 134

根据 docker's github 上的这个 github issue thread - 这是一个与 qemu 相关的错误

https://github.com/docker/for-mac/issues/5148#issuecomment-784992663

它提到 qemu 是 Docker 用于在 M1 (arm64) 芯片上运行 Intel (amd64) 容器的上游组件。我检查了 qemu repo fora 相关问题,但没有成功:

https://gitlab.com/qemu-project/qemu/-/issues?scope=all&utf8=%E2%9C%93&state=opened&search=uncaught+target+signal+6

在我的 docker-compose 文件中,我通过了以下配置,帮助我修复了 docker 上的几个 M1 相关问题。但这不适用于这个特定问题。

web:
    platform: linux/amd64
    ...

此问题发生在以下环境中

  • Macbook Pro M1 2020
  • Mac OS Big Sur 11.2.3
  • docker-compose 版本 1.29.1
  • 码头引擎:20.10.6
  • docker 桌面 3.3.3(64133)

我还在 qemu repo 上打开了一个问题: https://gitlab.com/qemu-project/qemu/-/issues/340

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: docker docker-compose bundler qemu apple-m1


    【解决方案1】:

    我发现了一个黑客。这是解决该特定问题的一种方法。我通过在Dockerfile.yml 顶部添加以下行来修复它,以更新可能已过时的图像源

    FROM ruby:2.3.4
    

    如果您在使用其他库时遇到类似问题,我建议您在 Docker Hub https://hub.docker.com/ 上查找映像,并确保它们支持所需的架构:amd64 或 arm65 等。


    有关 qemu 错误的更多信息,您可以关注这个 gitlab 问题线程:https://gitlab.com/qemu-project/qemu/-/issues/340

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 2021-10-06
      • 2021-05-11
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 2022-08-04
      相关资源
      最近更新 更多