Another issue with Docker: it does not interact well with process supervision (say systemd). The "docker run" process that you run with systemd is only a proxy for the real container process, which is started by the Docker daemon - so in reality, you have two init systems, Docker _and_ systemd. This means that many supervision features won't work (signals, seccomp, cgroups...).
rkt fixes this by not having a global daemon.
The linked article puts it well:
https://medium.com/@adriaandejonge/moving-from-docker-to-rkt...