Docker ENTRYPOINT Shell脚本

时间:2019-05-01 21:42:04

标签: shell docker docker-run

我在Dockerfile中有这个

WORKDIR /app
COPY run.sh .
ENTRYPOINT ./run.sh

它说找不到run.sh,但是当我找到

WORKDIR /app
COPY run.sh .
ENTRYPOINT bash run.sh

然后它起作用。为什么会这样?

2 个答案:

答案 0 :(得分:1)

我可以使用第一个Dockerfile使其工作,但是我需要为run.sh设置执行权限。这有效:

FROM alpine
WORKDIR /app
COPY run.sh .
RUN chmod +x run.sh
ENTRYPOINT ./run.sh

检查是否适合您。第二个版本无需许可即可工作,因为它直接传递给bash解释器,该解释器将不检查可执行标志。

答案 1 :(得分:1)

run.sh之类的声音不可执行。您是否为run.sh设置了可执行位(例如chmod +x run.sh)?