2015-07-20 5 views

Antwort

26

Es hängt davon ab, wie der Einstiegspunkt eingerichtet wurde. Wenn es wurde in „exec Form“, dann übergeben Sie einfach die Argumente nach dem docker run Befehl wie folgt ein:

docker run image -a -b -c 

Wenn es eingerichtet wurde in „Shell-Form“, dann müssen Sie den Einstiegspunkt außer Kraft setzen, leider .

$ docker run --entrypoint echo image hi 
hi 

Sie können das Formular docker inspect mit überprüfen. Wenn der Einstiegspunkt mit /bin/sh -c zu beginnen scheint, dann ist es Shell-Form.

Referenzen:

+0

hatte ich meinen Einstiegspunkt in Muschelform. Vielen Dank. – dporter

+2

Es scheint (vielleicht aufgrund der neueren Docker-Version), dass dies nicht davon abhängt, ob es in Shell-Form oder in exec-Form angegeben ist. Laut https://docs.docker.com/engine/reference/builder/#entrypoint 'Befehlszeilenargumente zu docker run wird nach allen Elementen in einem exec-Formular ENTRYPOINT angefügt und überschreibt alle Elemente, die mit CMD angegeben wurden Verwenden Sie daher ENTRYPOINT, wenn Sie später etwas hinzufügen möchten, und CMD, wenn Sie es später überschreiben möchten. –

+6

Zum schnellen Nachschlagen: ** Shellform ** ist 'ENTRYPOINT foo --bar' und ** Execform ** ist 'ENTRYPOINT [" foo "," --bar "]' – Enrico

Verwandte Themen