RUNy ENTRYPOINTson dos formas diferentes de ejecutar un script.
RUNsignifica que crea un contenedor intermedio, ejecuta el script y congela el nuevo estado de ese contenedor en una nueva imagen intermedia. El script no se ejecutará después de eso: se supone que su imagen final refleja el resultado de ese script.
ENTRYPOINT significa que su imagen (que aún no ha ejecutado el script) creará un contenedor y ejecutará ese script.
En ambos casos, es necesario agregar el script y RUN chmod +x /bootstrap.shes una buena idea.
También debería comenzar con un shebang (como #!/bin/sh)
Teniendo en cuenta su secuencia de comandos ( bootstarp.sh: un par de git config --globalcomandos), sería mejor que RUNesa secuencia de comandos una vez en su Dockerfile, pero asegúrese de usar el usuario correcto (el git configarchivo global es %HOME%/.gitconfig, que por defecto es el /rootindicado)
Agregue a su Dockerfile:
RUN /bootstart.sh
Luego, cuando ejecute un contenedor, verifique el contenido de /root/.gitconfigpara confirmar que se ejecutó el script.
bootstarp.shTiene el bit ejecutable configurado?