Docker Community Forums

Share and learn in the Docker community.

I want to create a single docker image of 3 different existing docker images which are available on docker hub and finally want to push the image onto docker hub

I have pulled 3 different images(ignition,node-red, grafana) from the docker hub into my local docker platform, now I want to build a single docker image with these 3 images and then push this image onto the docker hub so that the other person can directly download this image and can have all the 3 tools with only one pull from docker hub.

Is there a way to do this, could you let me know

You can only do that by selecting one of those as your own base, and then in the Dockerfile add all other functions that you need.

Rather than creating a single image: do you know about Docker Compose? That also keeps the services nicely separated, a dedicated container for each of them. See Overview of Docker Compose | Docker Documentation.

Yeah, I have done it using the docker-compose, I have created a .yml file and it’s working perfectly but I want it to be on the docker hub so that others can directly pull the image without this .yml file.
Could you share any sources on how can I do it exactly using the base image and the docker file, I have tried that too but I was not able to build it properly.

May I suggest that you share your own current state instead?

Hint: make sure you read and follow the Dockerfile reference, especialy about “build stage” as they might be a way to “copy content” from existing images into your final image. If this is not what you want: get the Dockerfiles of the three images and merge the relevant parts into a single Dockerfile.