老规矩:先上答案 把脚本类型 /bin/bash,尝试换为 /bin/sh 试一下,如果你想对两种shell的区别有深入了解,点击这里。,
,注意:,如果你在Dockerfile中引用了自定义脚本,比如:entrypoint: ./entrypoint.sh,如果没有单独给该脚本通过chmod +x ./entrypoint.sh 添加执行权限,也可能会报这个错误。,
,本机脚本解释器类型有4种。最常见的是前两种 (usr)/bin/sh和(usr)/bin/bash,还有一些不是很常见的脚本类型:ash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。,
, 不难发现,它的启动脚本解释器类型是/usr/bin/bash,3.进入Nginx容器内部,查Nginx启动脚本解释器类型,
,发现,首行并不是想要的结果/bin/bash,不放弃继续找 ,
,最后的最后,怎么找nginx的启动脚本,期望能找到首行的解释器是/bin/sh,但是事与愿违,不是乱码就是/sbin/openrc-run。,docker exec使用小技巧:后面的/bin/或者/usr/bin/可以省略掉,直接写sh 或者 bash。