Вопрос, который вы задали:
Я точно не помню, почему, но файл не найден, потому что вы называете его docker-entrypoint.sh
, а не ./docker-entrypoint.sh
.
Вопрос, который вы скоро зададите:
Это не совсем решит вашу проблему. Вы добавили права на выполнение к копии docker-entrypoint.sh
в /usr/local/bin
, но в /home
есть еще одна копия файла, которая будет найдена первой и не имеет привилегий на выполнение. Вы получите ошибку прав доступа при попытке использовать его. Простой обходной путь (в зависимости от того, что вы хотите сделать) состоит из модифицированной точки входа:
ENTRYPOINT ["/bin/bash", "docker-entrypoint.sh"]
Дополнительные сведения, если вы будете часто использовать Docker:
Возможность ввести контейнер или изображение, чтобы проверить его содержимое, неоценима. Для образов на основе Ubuntu запишите где-нибудь следующую строку (замените bash
на sh
для практически любой другой ОС Linux):
docker run -it --rm --entrypoint=bash my_image_name
Это откроет оболочку в этом образе и позволит вам поиграть в той же среде, в которой работает Dockerfile, и отладить все, что вызывает у вас проблемы.