Docker和Rocket(rkt)容器访问Linux内核的方式有什么不同?

我读过,Docker使用libcontainers和rkt使用systemd-spawn来访问Linux内核。 虽然有些网站说Docker也可以使用systemd-spawn,所以我很困惑。 它和如何知道它们有什么区别,他们这样做的相关方式是什么?