我有一个简单的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']
可能是什么问题?
答案 0 :(得分:5)
事实证明,我需要双引号而不是单引号。
$getURLVar = explode("/",$_SERVER['REQUEST_URI']);
if($getURLVar[1] == "temp"){
$uri_based_style = 'style-temp.css';
} else {
$uri_based_style = 'style.css';
}
function theme_enqueue_styles() {
// global in the variable here so you can use it in the function
global $uri_based_style;
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . $uri_based_style,
array( $parent_style )
);
}
注意强> 这在文档中并不明确,并且似乎是基本的,应该拼写在某处,因为没有错误消息。它无声地失败,这使得调试非常困难,因为启动脚本是创建正在运行的进程所需的,因此容器不会退出。
答案 1 :(得分:0)
注意:在ENTRYPOINT
或CMD
等JSON表达式中使用单引号时,有issue 5701请求发出docker build错误。
PR 8486应该解决这个问题,但它只会添加一个测试用例,而不是实际的错误本身 它确实解释了这个问题:
此测试用例应该生成错误,因为我们在CMD上传入的JSON数组使用单引号而不是双引号(per the JSON spec)。 这意味着我们将其解释为"字符串"而不是" JSON数组"并传递给"
sh -c
"它应该barf