RUN
et ENTRYPOINT
sont deux manières différentes d'exécuter un script.
RUN
signifie qu'il crée un conteneur intermédiaire, exécute le script et fige le nouvel état de ce conteneur dans une nouvelle image intermédiaire. Le script ne sera pas exécuté après cela: votre image finale est censée refléter le résultat de ce script.
ENTRYPOINT
signifie que votre image (qui n'a pas encore exécuté le script) créera un conteneur et exécutera ce script.
Dans les deux cas, le script doit être ajouté et un RUN chmod +x /bootstrap.sh
est une bonne idée.
Cela devrait aussi commencer par un shebang (comme #!/bin/sh
)
Compte tenu de votre script ( bootstarp.sh
: quelques git config --global
commandes), il serait préférable d'utiliser RUN
ce script une fois dans votre Dockerfile
, mais en veillant à utiliser le bon utilisateur (le git config
fichier global est %HOME%/.gitconfig
, qui par défaut est /root
celui)
Ajoutez à votre Dockerfile:
RUN /bootstart.sh
Ensuite, lors de l'exécution d'un conteneur, vérifiez le contenu de /root/.gitconfig
pour confirmer que le script a été exécuté.
bootstarp.sh
bit exécutable est-il défini?