This is an installation of an OpenPBS cluster inside Docker. This is useful for testing of software that requires a working batch system in environments (like CI or your laptop) that do not have one.
| Container | Role | PBS Daemons |
|---|---|---|
pbsserver |
Head node (server + scheduler) | pbs_server, pbs_sched, pbs_comm, PostgreSQL |
pbsfrontend |
Login/submission node | Client tools only (qsub, qstat, qdel, pbsnodes) |
pbsnode1-3 |
Compute/execution hosts | pbs_mom |
docker compose up --build -d# Check node status
docker exec pbs-frontend pbsnodes -a
# Submit a test job
docker exec pbs-frontend qsub -- /bin/hostname
# Check job status
docker exec pbs-frontend qstat
# SSH to compute nodes
docker exec pbs-frontend ssh pbsnode1 hostnamedocker compose down- OpenPBS Version: Set via
OPENPBS_VERSIONbuild arg in Dockerfiles (default:23.06.06) - Ubuntu base image: Pinned by digest for reproducibility; updated weekly by the
Refresh Ubuntu Base Digestworkflow - Queue: A default execution queue
workqis created automatically - Nodes: 3 compute nodes are registered with the server at startup
- Authentication: PBS built-in auth (no external auth daemon like munge needed)
- Shared Storage:
/home/adminis shared across all containers via a Docker volume
| PBS Command | Slurm Equivalent | Purpose |
|---|---|---|
qsub |
sbatch |
Submit a batch job |
qstat |
squeue |
Show job status |
qdel |
scancel |
Cancel a job |
pbsnodes |
sinfo |
Show node status |
qmgr |
scontrol |
Cluster management |
qsub -- cmd |
srun cmd |
Run interactive/immediate command |
Pinned Ubuntu base image: ubuntu:26.04@sha256:f3d28607ddd78734bb7f71f117f3c6706c666b8b76cbff7c9ff6e5718d46ff64
- OpenPBS is the open-source community edition of PBS Professional
- The server container requires PostgreSQL for its datastore
- Compute nodes (
pbs_mom) register with the server automatically - All containers share the same
adminuser