«Не удалось подключиться к шине: нет такого файла или каталога» в Bosh lite - PullRequest
0 голосов
/ 12 июня 2019

Я запускаю Bosh lite на своей машине, где я развернул кластер Patroni на трех садовых контейнерах, работающих на Ubuntu 16.04 Stemcell.Я создал службу systemd и хотел бы использовать ее в этой тестовой среде, но не могу ее запустить.

Проблема в том, что Bosh lite по умолчанию не запускается с systemd, и если я запускаю:

systemctl --user start patroni_fencer.service

Я получил следующую ошибку:

Failed to connect to bus: No such file or directory

Я нашел два возможных обсуждения StackOverflow:

Не удалось подключиться к шине: нет такого файла или каталога

systemd не удалось подключиться к сеансу d-bus

, но они не решают мою проблему, поскольку ссылаются на Docker, а моя проблема связана с Bosh lite.Я заметил, что у Bosh lite есть garden-init как процесс PID 1. Он начинается с runit system.

Есть ли способ протестировать мой сервис systemd в моих контейнерах Bosh lite?Также было бы хорошо, если бы я мог запустить systemd вручную, а затем запустить типичную команду systemctl.Это только тестовая среда.

1 Ответ

0 голосов
/ 15 июня 2019

Для docker-systemctl-replace не требуется работающий демон systemd для запуска служб, определенных в каком-то файле *.service. Если вы не используете его внутри Docker, вы можете просто запустить сценарий systemctl.py, не устанавливая его.

Что делает инструмент: он ищет службу patroni_fencer.service в стандартных каталогах. Он будет искать строку ExecStart, интерпретировать и исполнять ее. Команда exec'ed отсоединяется от systemctl.py, поэтому ее можно переименовать в PID-1, какой бы он ни был в вашей системе.

...