Ich muss ein Argument beim Ausführen von Docker Image geben, die eine Zahl von 0-3 sein wird.Verschiedene Argumente übergeben, wenn Docker Image mehrmals ausgeführt wird
Dockerfile hat die folgenden:
WORKDIR "mydir/build"
CMD ./maker oneapp > /artifacts/oneapp_$1.log ; ./maker twoapp > /artifacts/twoapp_$1.log ; ./maker -j13 threeapp > /artifacts/threeapp_$1.log
Ich werde die gleiche Docker Bild mehrere Male ausgeführt werden, so muss ich anmeldet/Artefakte mit _0, _1, _2, _3, gegebenenfalls beigefügten gespeichert werden.
Ich habe versucht, dies in Docker-Datei zu halten, aber nicht diese vollständige Zeile als Argument beim Ausführen von Docker übergeben möchten.
ENTRYPOINT ["/bin/bash"]
./maker oneapp > /artifacts/oneapp_$1.log ; ./maker twoapp > /artifacts/twoapp_$1.log ; ./maker -j13 threeapp > /artifacts/threeapp_$1.log
Ist es möglich, dies zu tun? Was muss ich in Dockerfile ändern, um das zu tun, was ich will?
Das ist schön und elegant Ansatz. – Rao
Ich habe ENV count 0 und CMD ./maker oneapp>/artifacts/oneapp_${suffix}.log in Dockerfile hinzugefügt, aber diesen Fehler zu sehen: root @ onl-dev:/data/sept15/target-docker # docker run -it target -e count = 0 docker: Fehler Antwort vom Daemon: oci Laufzeitfehler: exec: "-e": Die ausführbare Datei wurde nicht in $ PATH gefunden. –
@Sweety yes: 'docker run' benötigt einen Image-Namen zum Ausführen (Erstellen eines Containers daraus). Dein Befehl hat keinen Image-Namen. – VonC