web-dev-qa-db-fra.com

Docker multiline CMD ou ENTRYPOINT

J'ai une très longue ligne de commande pour le processus par défaut en raison d'un certain nombre d'arguments. Je pense que le plus simple serait de créer un script (par exemple .run.sh), puis appelez ce script dans votre ENTRYPOINT ou CMD. Je me demande s'il existe un moyen de rendre votre ENTRYPOINT ou CMD multiligne (la façon dont nous écrivons RUN). Par exemple.

ENTRYPOINT["/path/myprocess",
           "arg1",
           "arg2" ]

Je pensais que c'est une syntaxe valide car le format est json. Toutefois, docker build renvoie l'erreur

Step 14 : ENTRYPOINT[
Unknown instruction: ENTRYPOINT[

Existe-t-il un moyen de diviser le ENTRYPOINT en plusieurs lignes?

30
donnie

C'était une faute de frappe dans le dockerfile. J'ai manqué un space entre ENTRYPOINT et [. Dockerfile prend en charge le multiligne ENTRYPOINT et CMD en terminant la ligne par \, comme RUN. Donc, dans mon cas, cela peut être

ENTRYPOINT [ "/path/myprocess", \
             "arg1",            \
             "arg2"             \
]
54
donnie