Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-32010

Container start command option - Argument parsing

      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.

          [JENKINS-32010] Container start command option - Argument parsing

          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.

          Nicolas De Loof added a comment - 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.

          Paris Zoumpouloglou added a comment - - edited

          This command is just an example

          The general problem is that the plugin cannot parse a command with command line options.

          In my case I want the image to be re-used in different jobs, whose start commands will differ. Since Docker accepts command line options, I believe this feature should support them too.

          Paris Zoumpouloglou added a comment - - edited This command is just an example The general problem is that the plugin cannot parse a command with command line options. In my case I want the image to be re-used in different jobs, whose start commands will differ. Since Docker accepts command line options, I believe this feature should support them too.

            Unassigned Unassigned
            zubu Paris Zoumpouloglou
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: