docker run不使用entrypoint.sh和exec表单中的命令

docker run不使用entrypoint.sh和exec表单中的命令,docker,dockerfile,Docker,Dockerfile,我有一个docker入口点文件,比如 #!/usr/bin/env bash echo 'starting docker' echo $PWD exec "$@" #exec uwsgi --ini server.ini 以及docker文件中的CMD指令,如: CMD ["-exec","uwsgi --ini server.ini"] 在跑步时,它说 /usr/local/bin/docker-entrypoint.

我有一个docker入口点文件,比如

#!/usr/bin/env bash 
echo 'starting docker'  
echo $PWD
exec "$@"  
#exec uwsgi --ini server.ini
以及docker文件中的CMD指令,如:

CMD ["-exec","uwsgi --ini server.ini"] 
在跑步时,它说

/usr/local/bin/docker-entrypoint.sh:第4行:exec:-e:无效选项

这里有什么不正确的地方?CMD的exec表单(json)不应该在这里工作吗?

您需要在下面使用

CMD ["uwsgi", "--ini", "server.ini"] 
当您使用
CMD[“-exec”,“uwsgi--ini server.ini”]
时,shell上的实际命令执行如下

$exec-exec'uwsgi--ini server.ini'

哪个命令无效

它不应该是
CMD[“uwsgi--ini server.ini”
CMD[“uwsgi”、“--ini”、“server.ini”]
真的不清楚为什么你希望这个语法起作用。@TarunLalwani我得到
/usr/local/bin/docker-entrypoint.sh:第11行:exec:uwsgi--ini-server.ini:找不到
@tripleee甚至
CMD[“uwsgi--ini server.ini”]
不起作用请尝试我提供的第二个应该起作用的