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

Allow Image.run() etc to provide arguments to the container's command

XMLWordPrintable

      Currently it is possible with the docker-workflow-plugin to provide arguments to the docker run command. However these are inserted into the command line before the image name.
      There does not appear to be any way to specify arguments to appear after the image name; so currently it does not appear to be possible to provide arguments to the container's entrypoint (without creating a custom Dockerfile with those commands built in).

      e.g. the scenario I would like to achieve is the equivalent of this command line:

      docker run --link=mysql-container:mysql --link=mongo-container:mongo maven:3.3.3-jdk-7 clean install
      

      Currently I could run

      docker.image('maven:3.3.3-jdk-7').run("--link=${mysql.id}:mysql --link=${mongo.id}:mongo");
      

      which would take care of the arguments to docker, but would not pass 'clean install' arguments to the mvn command which is maven:3.3.3-jdk-7's entrypoint.

      Currently the only way I see to do this is to use 'sh' to run the docker command line, and not use the docker-workflow-plugin for this container.

            vfarcic Viktor Farcic
            ntdaley Nicholas Daley
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: