当我运行 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 问题线程 - 这是一个与 qemu 相关的错误:
https://github.com/docker/for-mac/issues/5148#issuecomment-784992663
它提到 qemu 是 Docker 用于在 M1 (arm64) 芯片上运行 Intel (amd64) 容器的上游组件。我在没有运气的情况下检查了 qemu repo fora 相关问题:
在我的 docker-compose 文件中,我传递了以下配置,它帮助我解决了 docker 上的几个 M1 相关问题。但这不适用于此特定问题。
web:
platform: linux/amd64
...
此问题发生在以下环境
我也在 qemu repo 上打开了一个问题: https://gitlab.com/qemu-project/qemu/-/issues/340
关于如何解决这个问题有什么想法吗?
答案 0 :(得分: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