Я установил контейнер докеров на основе OpenSuse 12, установил некоторые дополнительные файлы и скопировал некоторые двоичные файлы установщика в контейнер. Пока все нормально.
Изнутри работающего образа контейнера мне теперь нужно запустить вышеупомянутую программу установки, но для этого необходимо, чтобы uuid.socket был запущен и работал - uuid.socket, в свою очередь, требует systemctl для правильной работы, и это вызывает такую ошибку:
hxehost:/usr/sap/SRCFiles # systemctl
Failed to get D-Bus connection: Unknown error -1
Я запустил докер-контейнер так:
docker run -h hxehost -i -t f3096b0aa964 /bin/bash
Что, согласно некоторым сообщениям, должно запускать контейнер машины, а не контейнер приложения.
Может кто подскажет, что я здесь делаю не так ??? Как заставить systemctl работать внутри контейнера докеров?
Я попытался запустить контейнер с помощью этой команды, что, согласно связанным подсказкам, должно работать, но безрезультатно.
docker run --privileged --rm -ti -e 'container=docker' -h hxehost --network="bridge" --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro siliconchris/hxe:v0.0.2 /bin/bash
Если я это сделаю, systemctl по-прежнему выдает ту же ошибку.
Если я запускаю / sbin / init вместо / bin / bash, я вижу, что запускается довольно много служб (некоторые, такие как wicked, login и module, терпят неудачу). В конце концов, контейнер представляет мне логин. После входа в систему я теперь могу выполнить systemctl, и он показывает все службы с их соответствующими состояниями.
Теперь мой следующий вопрос: ВОЗМОЖНО ЛИ ЭТОТ ПОДХОД ???
С наилучшими пожеланиями,
Крис
Репозиторий этого образа можно найти в SAP HANA Express Edition в докере