Używam tego obrazu: dperson / samba
Obraz definiuje swój własny punkt wejścia i nie chcę go przesłonić.
Muszę przekazać argumenty do punktu wejścia, łatwe tylko z dockerem:
docker run ... dperson/samba arg1 arg2 arg3
Ale jak to zrobić z docker_compose.yml?
W tej chwili używam jako obejścia:
command: samba.sh arg1 arg2 arg3
Ale to nie jest satysfakcjonujące, ponieważ wymuszam redefinicję punktu wejścia.
źródło
ENTRYPOINT ["executable", "param1", "param2"]
(preferowany formularz exec)ENTRYPOINT command param1 param2
(formularz powłoki) Odniesienie: Odniesienie do pliku DockerMożesz użyć
docker-compose run
zamiastdocker-compose up
i przypisać argumenty na końcu. Na przykład:Jeśli potrzebujesz połączyć się z innymi kontenerami docker, użyj
--service-ports
opcji:źródło
Aby zastąpić domyślny punkt wejścia, użyj
entrypoint
opcji . Aby przekazać argumenty, użyjcommand
.Oto przykład zastępując
bash
zesh
wubuntu
obrazie:Oto wynik:
źródło
Miałem ten sam problem z jenkins ssh slave „ jenkinsci / ssh-slave ”. Jednak mój przypadek był nieco skomplikowany, ponieważ konieczne było przekazanie argumentu zawierającego spacje. Udało mi się to zrobić jak poniżej (punkt wejścia w pliku dockerfile jest w postaci exec):
źródło