Сценарий оболочки ENTRYPOINT для Docker - PullRequest
0 голосов
/ 02 мая 2019

У меня есть это в Dockerfile

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

он говорит, что не может найти run.sh, но когда я делаю

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

тогда это работает. С чего бы это?

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Похоже, что run.sh не является исполняемым. Вы установили исполняемый бит для run.sh (например, chmod +x run.sh)?

0 голосов
/ 02 мая 2019

Я мог бы заставить его работать, используя первый Dockerfile, но мне нужно было установить разрешения на выполнение для run.sh.Это работает:

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

Проверьте, работает ли это для вас.Вторая версия работает без разрешений, поскольку она напрямую передается интерпретатору bash, который не будет проверять флаг исполняемого файла.

...