RUNи ENTRYPOINTдва разных способа выполнения сценария.
RUNозначает, что он создает промежуточный контейнер, запускает сценарий и фиксирует новое состояние этого контейнера в новом промежуточном образе. После этого сценарий не будет запущен: ваше окончательное изображение должно отражать результат этого сценария.
ENTRYPOINT означает, что ваше изображение (которое еще не выполнило сценарий) создаст контейнер и запустит этот сценарий.
В обоих случаях сценарий необходимо добавить, и RUN chmod +x /bootstrap.shэто хорошая идея.
Он также должен начинаться с шебанга (вроде #!/bin/sh)
Учитывая ваш сценарий ( bootstarp.sh: пара git config --globalкоманд), было бы лучше всего использовать RUNэтот сценарий один раз в вашем Dockerfile, но убедитесь, что вы используете правильного пользователя (глобальный git configфайл %HOME%/.gitconfig, который по умолчанию является /rootединственным)
Добавьте в свой Dockerfile:
RUN /bootstart.sh
Затем при запуске контейнера проверьте содержимое, /root/.gitconfigчтобы убедиться, что сценарий был запущен.
bootstarp.shУстановлен ли исполняемый бит?