我在Dockerfile中有这个
WORKDIR /app
COPY run.sh .
ENTRYPOINT ./run.sh
它说找不到run.sh,但是当我找到
WORKDIR /app
COPY run.sh .
ENTRYPOINT bash run.sh
然后它起作用。为什么会这样?
答案 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
)?