Welcome to Ubuntu Vivid Vervet (development branch)!
Set hostname to <502ec40509a5>.
[ OK ] Created slice Root Slice.
[ OK ] Created slice System Slice.
Starting Emergency Shell…
[ OK ] Started Emergency Shell.
Startup finished in 5ms.
Welcome to emergency mode! After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or ^D to
try again to boot into default mode.
root@502ec40509a5:~# exit
Update 2021
A lot of Patches got Submitted to diffrent Projects like the docker upstream repos by REDHAT.
To be More clear my frind David Walsh @ REDHAT did also post a lot about that.
https://developers.redhat.com/blog/author/rhatdan/.
Running SystemD Without additional Privileges requires
/run as a tmpfs.
/sys/fs/cgroup read/only.
/sys/fs/cgroup/systemd read/write.
/etc/machine-id Needs to Contain a Uniqe MachineID
SIGRTMIN+3 as stopsignal as sigterm will not work
/var/log/journal If it does not exist it will write to memory
As of 2018, this now works for me: docker run -it -e container=dockeryour-image-name/sbin/init
This won't give you a shell, however, so you will need to first enable some systemd service (e.g. sshd) inside the image if that hasn't already been done, to do anything useful.
Found this question while trying to do this in the debian:8 official container.
For anyone else trying to do this on the official debian:8 (debian:jessie) container, @Frank-from-DSPEED's answer works with a slight modification as described in an older git hub post:
Docker 1.1 makes this easier as groups (ro) is already provided in containers - I still currently need priv access so it can create PrivateTmp mounts, but otherwise, as long as you specify the cmd to run as the systemd binary - it works nicely.