dockerfile bei Bild bauen laufen
Das ist wahrscheinlich nicht die beste Idee, aber Sie würden mit Env-Variablen enden und diese in der Dockerdatei verwenden.
Behälter Laufzeiten
Das ist, meiner Meinung nach, eine viel bessere Idee. Wenn Sie den Befehl erwartet Eingabe kennen, können Sie diese in der dockerfile hinzufügen:
ENTRYPOINT ["git","-c","/tmp"]
CMD ["--help"]
Wir haben git ein „hart codiert“ Parameter für, das heißt, jedes Mal wenn wir laufen diesen Docker Container der Parameter -c /tmp
geben wird git. Ich benutze dies als ein Beispiel, falls Sie es brauchen, aber es ist nicht erforderlich und ENTRYPOINT ["git"]
wird gut funktionieren.
In diesem Fall ist CMD der "Standard". In diesem Fall verwenden wir "--help", um dem Benutzer hilfreich mitzuteilen, dass er einen Parameter hinzufügen muss.
Sie könnten CMD zu einem Standard-Repo machen oder was immer Sie wollen.
IMHO, ENTRYPOINT und CMD sollten immer in Verbindung verwendet werden.
Falls Sie neugierig, warum verwenden ENTRYPOINT [] (dies ist die bevorzugte Form nach Docker), ist dies aus den Docker docs:
Hinweis: Anders als bei der Schalenform, die exec Form tut Befehl nicht aufrufen Shell. Dies bedeutet, dass normale Shell-Verarbeitung nicht stattfindet. Für Beispiel wird CMD ["echo", "$ HOME"] keine Variablensubstitution auf $ HOME ausführen. Wenn Sie eine Shell-Verarbeitung wünschen, verwenden Sie entweder das Shell-Formular oder führen Sie eine Shell direkt aus, zum Beispiel: CMD ["sh", "-c", "echo $ HOME" ]. Wenn Sie das exec-Formular verwenden und eine Shell direkt ausführen, wie im Fall für die Shell-Form, ist es die Shell, die die Umgebungsvariable variable Erweiterung ausführt, nicht docker.
Source
Wie wissen Sie, Sie Repo1 oder repo2 oder repo3 passieren? – user2915097