como Michael Hampton como se mencionó, los contenedores están destinados a ejecutar un solo servicio atómico. De hecho, uno debe entender que los contenedores no son máquinas virtuales, sino un solo proceso por sí mismo en su host local.
Sin embargo, llegué a saber que es un poco más difícil hacer que SystemD funcione dentro de un contenedor desde aqui
Pude hacer que SystemD funcionara dentro de una imagen creada a partir DE centos:centos7 con:
docker run --privileged -ti -e "container=docker" -v /sys/fs/cgroup:/sys/fs/cgroup trinitronx/ansible-base:stable-centos7 /usr/sbin/init
Por alguna razón no documentada, aparentemente se requiere la variable container=docker. /sys / fs / cgroup también es necesario, ya que SystemD necesita cgroups para funcionar correctamente de acuerdo con el error 1033604 de RedHat.
Después de hacer esto, intente iniciar sesión en el contenedor usando docker exec -it <container> /bin/bash y entonces podrías ejecutar tu systemctl comando.