-
Bug
-
Resolution: Unresolved
-
Minor
-
Jenkins 1.639
docker-custom-build-environment:1.6.4
This bug concerns container start commands with one or more command line options.
If a container is run from command line like :
docker run -it <image_hash> "tail -n 20 /etc/passwd"
the "tail -n 20 /etc/passwd" command is interpreted as:
"Path": "/bin/sh", "Args": [ "-c", "tail -n 20 /etc/passwd" ],
However if I add the same command without quotes in "Container start command" option it is interpreted as :
"Path": "/bin/sh", "Args": [ "-c", "tail", "-n", "20", "/etc/passwd" ],
If I enclose the command in single or double quotes the problem remains since the command is interpreted as (example using single quotes) :
"Path": "/bin/sh", "Args": [ "-c", "'tail", "-n", "20", "/etc/passwd'" ],
Both cases result in errors and the container does not start. I searched through the documentation but there are no recommendations regarding this option.
why do you need to pass such a start command ? This is an advanced feature for people who need to start some subprocess as part of the container (which is wrong way to use docker imho, but anyway ...)
simple workaround is for you to wrap this into a shell script inside your image.