J'utilise cette image: dperson / samba
L'image définit son propre point d'entrée et je ne veux pas le remplacer.
J'ai besoin de passer des arguments au point d'entrée, facile avec docker uniquement:
docker run ... dperson/samba arg1 arg2 arg3
Mais comment le faire avec docker_compose.yml?
En ce moment, j'utilise comme solution de contournement:
command: samba.sh arg1 arg2 arg3
Mais ce n'est pas satisfaisant car je force la redéfinition du point d'entrée.
la source
ENTRYPOINT ["executable", "param1", "param2"]
(formulaire exec, préféré)ENTRYPOINT command param1 param2
(formulaire shell) Référence: référenceVous pouvez utiliser
docker-compose run
au lieu dedocker-compose up
et clouer les arguments à la fin. Par exemple:Si vous devez vous connecter à d'autres conteneurs Docker, utilisez l'
--service-ports
option peut utiliser :la source
Pour remplacer le point d'entrée par défaut, utilisez l'
entrypoint
option . Pour transmettre les arguments, utilisezcommand
.Voici l'exemple de remplacement
bash
parsh
dans l'ubuntu
image:Voici la sortie:
la source
J'étais confronté au même problème avec l'esclave ssh jenkins ' jenkinsci / ssh-slave '. Cependant, mon cas était un peu compliqué car il fallait passer un argument contenant des espaces. J'ai réussi à le faire comme ci-dessous (le point d'entrée dans dockerfile est sous forme exécutable):
la source