Я предполагаю, что вы запускаете свой контейнер docker с помощью чего-то вроде
docker run -t -i ubuntu:16.04 /bin/bash
Проблема сейчас в том, что ваш PID процесса инициализации 1 равен /bin/bash, а не systemd.Подтвердите с помощью ps aux.
В дополнение к этому вам не хватает dbus, с помощью которых можно было бы общаться. Вот откуда приходит ваше сообщение об ошибке. Но поскольку ваш PID 1 не является systemd, это не поможет установить dbus.
Лучше всего было бы переосмыслить то, как вы планируете использовать docker. Не полагайтесь на systemd в качестве менеджера процессов, но пусть контейнер docker запускает нужное вам приложение на переднем плане.
Другие сообщали о подобной проблеме. Запустите терминал и введите:
$ env
Видите ли вы такую переменную окружения?
XDG_RUNTIME_DIR=/run/user/`id -u`
Где id -u заключен в обратные кавычки, а не в одинарные кавычки. Эта переменная обычно переосмысливается в число 1000 для обычных пользователей и 0 для суперпользователя (sudo).
Если переменная среды XDG_RUNTIME_DIR не существует, вам нужно его создать. Полное обсуждение находится в launchpad systemd ответы.
Если вы получаете эту ошибку в подсистеме Windows для Linux (WSL), я обнаружил, что это связано с тем, что Docker не поддерживается. Это связано с отсутствием групповых заданий и других предпосылок.
По умолчанию контейнеры Docker являются “непривилегированными” и не могут, например, запускать демон Docker внутри контейнера Docker. Это связано с тем, что по умолчанию контейнеру не разрешен доступ ни к каким устройствам, но “привилегированному” контейнеру предоставляется доступ ко всем устройствам (см. документацию по устройствам cgroups).
Когда оператор выполняет docker run --privileged, Docker разрешает доступ ко всем устройствам на хосте, а также устанавливает некоторую конфигурацию в AppArmor или SELinux, чтобы предоставить контейнеру почти тот же доступ к хосту, что и процессам, запущенным вне контейнеров на хосте. Дополнительная информация о запуске с --privileged доступна в блоге Docker.
Возможно, вы не бежите systemd, который является реализацией по умолчанию в этом 16.04. Если вы обновились с 14.04, вы, скорее всего, все еще работаете выскочка, и результат выполнения systemctl команда - это результат, который вы получили.