Ich benutze dieses Bild: dperson / samba
Das Bild definiert seinen eigenen Einstiegspunkt und ich möchte ihn nicht überschreiben.
Ich muss Argumente an den Einstiegspunkt übergeben, einfach nur mit Docker:
docker run ... dperson/samba arg1 arg2 arg3
Aber wie geht das mit docker_compose.yml?
Im Moment verwende ich als Workaround:
command: samba.sh arg1 arg2 arg3
Aber es ist nicht zufriedenstellend, da ich die Neudefinition des Einstiegspunkts erzwinge.
quelle
ENTRYPOINT ["executable", "param1", "param2"]
(ausführendes Formular, bevorzugt)ENTRYPOINT command param1 param2
(Shell-Formular) Referenz: Dockerfile-ReferenzSie können die Argumente am Ende
docker-compose run
anstelle von verwendendocker-compose up
und anheften. Beispielsweise:Wenn Sie eine Verbindung zu anderen Docker-Containern herstellen müssen, können Sie die folgende
--service-ports
Option verwenden:quelle
Verwenden Sie die
entrypoint
Option, um den Standardeinstiegspunkt zu überschreiben . Um die Argumente zu übergeben, verwenden Siecommand
.Hier ist das Beispiel für das Ersetzen
bash
durchsh
imubuntu
Bild:Hier ist die Ausgabe:
quelle
Ich hatte das gleiche Problem mit Jenkins SSH Slave ' Jenkinsi / SSH-Slave '. Mein Fall war jedoch etwas kompliziert, da ein Argument übergeben werden musste, das Leerzeichen enthielt. Ich habe es wie folgt geschafft (Einstiegspunkt in Dockerfile ist in Exec-Form):
quelle