Docker is an excellent tool, especially when used with SELinux enabled. It offers process isolation, resource restrictions, and reproducibility. While similar isolation can be achieved with chroot or jails, these methods lack reproducibility. Additionally, managing updates in chroot and jails can be quite challenging compared to Docker or Portainer.
Jails and chroot is a big no-no for CI/CD, in my opinion also the reason no one use it.