如果我从命令行运行以下命令。
docker run -t repo:tag ls -l
命令成功就可以了。但是,如果我在bash脚本中调用相同的命令,则会出现以下错误:
泊坞窗:来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:348:启动容器进程导致“ exec:\” ls -l \”:在$ PATH中找不到可执行文件”:未知。
bash脚本导致此错误怎么办?
“ exec:\“ ls -l \”:在$ PATH中找不到可执行文件”
从错误中我可以看出,当您调用docker时,您将以某种方式将ls -l
空格作为参数进行调用。就像是,
docker run -t repo:tag "ls -l" # wrong
也许
cmd="ls -l"
docker run -t repo:tag "$cmd" # wrong
解析docker命令的外壳程序必须将ls
和-l
作为单独的参数使用,以便将参数-l
与ls
可执行文件名区分开。
cmd="ls -l"
docker run -t repo:tag $cmd #works
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句