虽然在PATH(和可执行文件)中未找到Docker入口点

时间:2018-07-26 07:41:15

标签: docker docker-entrypoint

我正在使用以下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和文件权限(已解决)的问题;

2 个答案:

答案 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转换脚本为我解决了这个问题。