下面是
docker build -t test:test .
日志
Sending build context to Docker daemon 1.225MB
Step 1/3 : FROM ppc64le/ubuntu:jammy
---> b4cdd8bc1823
Step 2/3 : ARG DEBIAN_FRONTEND=noninteractive
---> Using cache
---> 0d6079ed0b29
Step 3/3 : RUN apt-get update
---> Running in fca7ae125244
The command '/bin/sh -c apt-get update' returned a non-zero code: 132
我很清楚 apt-get update 导致了问题,但我不知道如何解决它。我到处搜索,但似乎没有人收到此错误代码。与 ppc64le 相关吗?有线索吗?
每人狂欢:
“当命令因致命信号 N 终止时,bash 使用 128+N 的值作为退出状态”
因此 132 代码表示信号 4。
kill -l
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
是SIGILL,非法指令。因此,要么您没有在 POWER9+ ppc64le 机器上运行,要么您的 qemu 设置没有模拟它。
Power8 机器可能会在 SIGILL 上失败,因为 apt-get 可以使用 POWER9 指令进行编译(正如我在 docker 库问题 #12726 中发现的那样)。 注意 22.04 jammy 每 release 和 build 的 POWER 9/10+。