¿Hay alguna diferencia en la forma en que los contenedores Docker y Rocket (rkt) acceden al kernel de Linux?

Leí que Docker usa libcontainers y rkt usa systemd-spawn para acceder al kernel de Linux. Aunque algunos sitios web dicen que Docker también puede usar systemd-spawn, entonces estoy confundido. ¿Cuál es la diferencia entre esto y cómo saber, cuál es la manera relevante en que lo hacen?