PBS public Docker image improvement



For the github project https://github.com/dask/dask-jobqueue, we want to deploy a mini PBS cluster (1 server, and 2 compute nodes) for Continuous Integration purpose. The idea is to spin up a cluster using Docker and Docker Compose. When looking for some Docker image containing PBS, I found this image: https://hub.docker.com/r/pbspro/pbspro. That is really good to have such an image available, however I noticed two problems with it:

  • It depends on pbspro/pbsbase, which has no Dockerfile, that would be much better and reinsuring if you could provide it…
  • The version is just “centos7”, which is a bit weird to me, what will happen if PBS version change but is still deployed on CentOS7?

I will still try to use the image, and hopefully provide at the end a basic docker compose of a mini PBS Cluster, but do you believe these potential issues should and could be corrected?


Hi @guillaumeeb,

Thanks for trying out our docker image. The Dockerfile for the pbsbase image is in our Github repo here. Because the pbsbase image is not setup as an automated build and is updated manually, its Dockerfile does not show up on Dockerhub.

The version tag centos7 refers to the base OS image used for that pbspro image, not the version of PBS Pro. The version of PBS Pro used in the image is periodically updated. When new changes are pushed to our Github repository, a new build should trigger and a new image will be on Dockerhub. If a new version of CentOS comes out and if PBS Pro supports it, we will then add another image tagged centos8. But centos7 and centos8 images will have the same version of PBS Pro inside.

Hope this answers your question.


Not yet clear to me how you build the pbsbase image… You initialize the image with a dockerfile, and then you edit the image manually by spinning it as a container and launching commands inside it?
It would be really better if an automated build was possible/provided.

As for the tag, I understand that centos7 refers to the OS image, but the PBS version should also appear. If not, and you update the image as you are saying you may do, this image users (me) may not have reproducibility of their use cases. This, for me, is bad and against Docker concepts.

So I would suggest to tag your images something like centos7_18.1. and with each new build and push on dockerhub, have a new version! Only the latest tag should be updated to match your last build. You could have a centos7_latest.

How do you feel about all this?


Coming for news,

@minghui any though about this?