Run a single docker image as multiple containers in parallel

Objective → I have an executable jar which sends different kind images to various destination based upon the input parameters from Jenkins

Inputs:

  • Docker image which contains the executable java jar.
  • I have the 10 or more input config files and parameters for the jar. The different sets of images and config/parameter files are saved on docker volume.

Request for Solution:

I need to pass inputs parameters from Jenkins to the docker image and need to trigger multiple containers in parallel with the same docker image (but each container should run with its own set of parameters)

Example:

  • I have a docker image with executable jar + an docker file pointing towards the jar.
  • On the docker volume → I have 4 folders with different sets of test images + Multiple config files defining the number of images to be sent.

Now I need to pass parameters to the config files stored on docker volume via Jenkins pipeline. The docker image should be downloaded and multiple containers should be triggered (Container-1 send folder-1 images 5 times in 1hr, COntainer-2 send folder-2 images 60 times in 1 hr…and so on).

You can run as many containers from the same image as you want. Since the question is in the “Docker Hub” category, would you like to see a new feature on Docker Hub?

I was looking for suggestions for below scenario:
Multiple Docker containers, same image, different config from a single Jenkins job.

I don’t use Jenkins, but it is definitely poissible with Docker. If you mean it is harder to run multiple containers, you can use Docker Compose. I found a pretty old, not updated plugin, so I would not use it probably

but you can use a simple “bash” step and run the docker compose commands from shell.

Since I don’t use Jenkins, you need someone else to tell you if there is a better solution.

Thanks a lot for inputs :slight_smile: