docker运行系统错误:exec格式错误

我创build了Dockerfile来构build名为aii的图像。

FROM docker.io/centos:latest #Set parameters ENV BinDir /usr/local/bin ENV RunFile start-aii.sh ADD ${RunFile} ${BinDir} #Some other stuff ... CMD ${RunFile} 

当我用下面的命令运行镜像时:

 docker run -it -v <some-volume-mapping> aii 

这是很好的(运行start-aii.sh的CMD命令的默认操作)。 现在,如果我尝试重写此默认行为并隐式地使用相同的脚本运行图像(并添加另一个参数),我收到以下错误:

 docker run -it -v <some-volume-mapping> aii start-aii.sh kafka exec format error docker: Error response from daemon: Cannot start container b3f4f3bde04d862eb8bc619ea55b7061ce78ace8f1984a12f6ec681877d7d926: [9] System error: exec format error. 

我也试过:只有脚本(没有参数)

 docker run -it -v <some-volume-mapping> aii start-aii.sh 

和脚本的完整path

 docker run -it -v <some-volume-mapping> aii /usr/local/bin/start-aii.sh 

但同样的错误出现。

另一个信息:

 docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2488a4dd7014 aii "start-aii.sh kafka" 3 seconds ago Created tiny_payne 

有什么build议么?

谢谢

尝试在使用脚本之前启动bash,并在作业结束后使用--rm标志来销毁实例,如下所示:

 docker run -it --rm -v <some-volume-mapping> aii /bin/bash /usr/local/bin/start-aii.sh 

有同样的问题,通过在文件顶部添加#!/ bin / sh而不是其他注释来修复它