使用 QEMU 操作创建的 armv7 docker 映像导致非法指令

问题描述

我在 Github 上构建了我的 docker 镜像,一次用于三种架构。对于后端,我不得不通过箍,而不是使用 node:latest,使用 ubuntu:latest 以便我可以使用 glibc >= 2.29。但是,似乎启动构建该文件时安装的任何东西 - 所以 npm 或 nodejs - 将导致图像在 armv7 上崩溃,同时在 x86_64 上工作:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <corners
        android:topLeftRadius="100dp"
        android:topRightRadius="0dp"
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="100dp"
        />
    <gradient
        android:angle="45"
        android:centerX="35%"
        android:centerColor="#00A2A8"
        android:startColor="#E8E8E8"
        android:endColor="#000000"
        android:type="linear"
        />
    <padding
        android:left="0dp"
        android:top="0dp"
        android:right="0dp"
        android:bottom="0dp"
        />
    <size
        android:width="270dp"
        android:height="60dp"
        />
    <stroke
        android:width="3dp"
        android:color="#878787"
        />
</shape>

这是 Dockerfile:

backend_1   | #
backend_1   | # Fatal error in,line 0
backend_1   | # unreachable code
backend_1   | #
backend_1   | #
backend_1   | #
backend_1   | #FailureMessage Object: 0xbecf23ecIllegal instruction (core dumped)

以及相关操作:

FROM ubuntu:latest
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update
RUN apt install nodejs npm -y
RUN apt install ca-certificates -y
RUN update-ca-certificates --fresh
RUN npm install -g npm@latest
WORKDIR /code
EXPOSE 4000
COPY package*.json ./
RUN npm i
COPY . .
VOLUME /code/media
CMD "npm" "start"

我认为问题是在使用 QEMU 操作时使用 apt?如果有解决办法,我很乐意接受。如果有一种方法可以在不使用 apt 的情况下同时获得 node/npm 和 glibc >= 2.29,那么我对这个解决方案也很满意。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...