我正在使用以下Dockerfile
FROM docker:latest
COPY docker-entrypoint.sh /usr/local/bin
ENTRYPOINT ['docker-entrypoint.sh']
在我的容器内:
/ # ls -al $(which docker-entrypoint.sh)
-rwxrwxr-- 1 root root 476 Jul 26 07:30 /usr/local/bin/docker-entrypoint.sh
因此,入口点文件在PATH
和可执行文件中都是两者;
但是在跑步时
docker run -v /var/run/docker.sock:/var/run/docker.sock -it imageinit
/bin/sh: [docker-entrypoint.sh]: not found
我知道this SO question,但这是关于PATH
和文件权限(已解决)的问题;
答案 0 :(得分:4)
有趣的是,您的问题似乎与您选择使用的报价类型有关。如果您更改此行:
ENTRYPOINT ['docker-entrypoint.sh']
到
ENTRYPOINT ["docker-entrypoint.sh"]
然后一切都会按预期开始。
如果您选中the documentation for the type of ENTRYPOINT
you are using,则所有示例均带有双引号。
我怀疑当您使用单引号时发生的事情是docker正在将其解析为ENTRYPOINT
的shell形式并试图执行一个名为[docker-entrypoint.sh]
的脚本来解释错误消息(如显然,该名称的脚本将不存在。
答案 1 :(得分:1)
在<div class="row">
<?php
$totalPedido = 0;
$contagPedido = 0;
foreach ($pedidos as $pedido) {
$totalPedido += $pedido->valor_pedido; // sum day orders
$contagPedido += count($pedido->id); //count day orders
}
?>
<div class="span12">
<!-- Widgets -->
<ul class="widgets">
<!-- Basic widget item -->
<li class="span3">
<span class="widget-label"><span class="awe-star"></span> This Week</span>
<strong>Soon</strong>
</li>
<!-- /Basic widget item -->
<!-- Clickable widget item -->
<li class="span3">
<span class="widget-label"><span class="awe-star"></span> Totay</span>
<strong>R$ <?= ConverteReal($totalPedido) ?></strong>
</li>
<!-- /Clickable widget item -->
<!-- Widgets with graphs -->
<li class="span3">
<span class="widget-label"><span class="awe-star"></span> Orders this week</span>
<strong>Soon</strong>
</li>
<li class="span3">
<span class="widget-label"><span class="awe-star"></span> Orders today</span>
<strong><?= $contagPedido ?></strong>
</li>
<!-- /Widgets with graphs -->
</ul>
<!-- /Widgets -->
</div>
</div>
脚本包含回车符的情况下,在相同情况下(尽管没有单引号问题),我得到了完全相同的错误,用docker-entrypoint.sh
转换脚本为我解决了这个问题。