Docker multiline CMD or ENTRYPOINT

DockerDockerfile

Docker Problem Overview


I have a really long command line for the default process due to a number of arguments. I think the easiest would be to create a script (for eg.run.sh) and then call this script in your ENTRYPOINT or CMD. I'm wondering if there is a way to make your ENTRYPOINT or CMD multiline (the way we write RUN). For eg.

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

I was thinking this is a valid syntax since the format is json. However, docker build throws the error

Step 14 : ENTRYPOINT[
Unknown instruction: ENTRYPOINT[

Is there a way I can split the ENTRYPOINT to multiple lines?

Docker Solutions


Solution 1 - Docker

It was a typo in the dockerfile. I missed a space between ENTRYPOINT and [. Dockerfile supports multiline ENTRYPOINT and CMD by terminating the line with \, same as RUN. So, in my case it can be

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiondonnieView Question on Stackoverflow
Solution 1 - DockerdonnieView Answer on Stackoverflow