Docker Standard_init_linux.go:207: exec 用户进程导致“没有那个文件或目录”

Docker Standard_init_linux.go:207: exec user process caused “no such file or directory”

我的 Dockerfile 看起来像:

FROM ubuntu:18.04

RUN apt-get ...
...
COPY app /bin

我的可执行文件 app 只是 bash 脚本:

make -f /app/makefile $@

当我尝试 运行

docker run -v "`pwd`:/project" -it --rm my_image app

我收到以下错误:

standard_init_linux.go:207: exec user process caused "exec format error"
make: *** [run] Error 1

我该怎么办?

如果您的入口点是 bash 脚本,请检查它是否包含正确的 shebang,例如:

#!/usr/bin/env bash
make -f /app/makefile $@

要么在您的入口点命令中指定它,例如:

ENTRYPOINT ["sh", "/bin/app"]