RUNi ENTRYPOINTsą dwoma różnymi sposobami wykonania skryptu.
RUNoznacza, że tworzy kontener pośredni, uruchamia skrypt i zamraża nowy stan tego kontenera w nowym obrazie pośrednim. Po tym skrypt nie zostanie uruchomiony: ostateczny obraz powinien odzwierciedlać wynik tego skryptu.
ENTRYPOINT oznacza, że obraz (który jeszcze nie wykonał skryptu) utworzy kontener i uruchomi ten skrypt.
W obu przypadkach należy dodać skrypt i RUN chmod +x /bootstrap.shjest to dobry pomysł.
Powinien również zaczynać się od shebang (jak #!/bin/sh)
Biorąc pod uwagę twój skrypt ( bootstarp.sh: kilka git config --globalpoleceń), najlepiej by było, gdyby RUNten skrypt był raz w twoim Dockerfile, ale upewnij się, że używasz właściwego użytkownika ( git configplik globalny to %HOME%/.gitconfig, który domyślnie jest tym /root)
Dodaj do swojego Dockerfile:
RUN /bootstart.sh
Następnie podczas uruchamiania kontenera sprawdź zawartość, /root/.gitconfigaby upewnić się, że skrypt został uruchomiony.
bootstarp.shjest ustawiony bit wykonywalny?