基本Dockerfile不运行CMD命令

我有一个简单的Dockerfile似乎并没有执行CMD命令。

FROM nginx #Expose port 80 EXPOSE 80 #Start nginx server #RUN service nginx start COPY startup_nginx.sh /startup_nginx.sh RUN chmod +x /startup_nginx.sh #CMD ["/usr/bin/wc","--help"] CMD ['/startup_nginx.sh'] 

可能是什么问题呢?

事实certificate,我需要双引号,而不是像这样的单一。

 CMD ["/startup_nginx.sh"] 

注意这在文档中并不明确,因为没有错误消息,所以应该将其拼写在某处。 它静静地失败,这使得debugging非常困难,因为启动脚本是创build正在运行的进程所需的,所以容器不会退出。

注意:有问题5701请求在JSONexpression式(如ENTRYPOINTCMD中使用单引号时发生ENTRYPOINT错误。

公关8486应该解决这个问题,但它只是添加一个testing用例,而不是实际的错误本身。
它确实解释了这个问题:

这个testing用例应该会产生一个错误,因为我们在CMD中传入的JSON数组使用单引号而不是双引号( 根据JSON规范 )。
这意味着我们把它解释为一个“string”而不是“JSON数组”,并把它传递给“ sh -c ”,它应该在它上面