Docker assumes you are root and owns the daemon. Neither is true on a cluster. Apptainer runs a single image file as your own user, which is why HPC sites allow it.
Bootstrap, %post,
%environment, %runscript — building an image that does
something when you run it.
One file, not a layer store. What that buys you on a shared filesystem, and what it costs.
Why your home directory is already there, why
/scratch is not, and what --contain changes.
Overlays: what persists after the container exits, and what quietly disappears.
--nv for the host driver, and the awkward
question of whose MPI is used when you run a container under srun.
The path that ties the three tracks together:
sbatch → srun → apptainer exec, on the
nodes the scheduler gave you.