RUN
ve ENTRYPOINT
bir komut dosyasını yürütmenin iki farklı yoludur.
RUN
bir ara kap yarattığı, komut dosyasını çalıştırdığı ve bu kabın yeni durumunu yeni bir ara görüntüde dondurduğu anlamına gelir. Komut dosyası bundan sonra çalıştırılmayacaktır: son görüntünüz bu komut dosyasının sonucunu yansıtmalıdır.
ENTRYPOINT
görüntünüzün (henüz komut dosyasını çalıştırmamış olan) bir kap oluşturacağı ve bu komut dosyasını çalıştıracağı anlamına gelir.
Her iki durumda da, komut dosyasının eklenmesi gerekir ve RUN chmod +x /bootstrap.sh
a iyi bir fikirdir.
Aynı zamanda bir shebang (gibi #!/bin/sh
) ile başlamalı
Komut dosyanızı ( bootstarp.sh
: birkaç git config --global
komut) göz önünde bulundurarak, en iyisi RUN
komut dosyasını sizin için bir kez kullanmaktır Dockerfile
, ancak doğru kullanıcıyı kullandığınızdan emin olun (global git config
dosya, %HOME%/.gitconfig
varsayılan olarak /root
biridir)
Dockerfile'ınıza ekleyin:
RUN /bootstart.sh
Ardından, bir kapsayıcı /root/.gitconfig
çalıştırırken, komut dosyasının çalıştırıldığını doğrulamak için içeriğini kontrol edin .
bootstarp.sh
çalıştırma iznine sahip?