Docker多阶段构build最终容器不运行

我有以下构build脚本:

#!/bin/bash ID1=$(cat $DOCKERFILEA | docker build -q -) && \ echo "image1: $ID1" && \ docker run --rm \ -v $PWD:/home \ $ID1 \ make -C /home all ID2=$(cat $DOCKERFILEB | docker build --build-arg ID=$ID1 -q -) && \ echo "image2: $ID2" && \ docker run --rm \ -v $PWD/foo:/foo \ -v $PWD/bar:/bar \ $ID2 \ qux [some stuff] 

而DOCKERFILEB看起来像这样:

 FROM some-image/with-qux as qux ARG ID FROM ${ID} COPY --from=qux /usr/local/bin/qux /usr/local/bin/ VOLUME ["/foo", "/bar"] WORKDIR / 

DOCKERFILEA是标准的多阶段构build,最终的形象是FROM debian

当我运行脚本时,我得到一个关于qux不在path上的错误:

docker:来自守护进程的错误响应:oci运行时错误:container_linux.go:265:启动容器进程导致“exec:\”qux \“:在$ PATH中找不到可执行文件”。

所以我认真检查:

 docker create <image2:sha256> docker start short-name /bin/true 

来自守护进程的错误响应:oci运行时错误:container_linux.go:265:启动容器进程导致“exec:\”/ bin / true \“:stat / bin / true:没有这样的文件或目录”。

docker run -it ubuntu bash工作得很好。

我在DOCKERFILEB中使用的模式是否允许? 如果我甚至无法启动容器,如何debugging这种情况?