Использование: Ubuntu Server 14.04 x64
LXD 2.0.0
У меня есть несколько контейнеров (все они работают "alpine-edge"), в которых я использую lighttpd + mysql.
Проблема в том, что каждый раз, когда я перезагружаю контейнеры, мне приходится вручную перезапускать эти службы, поскольку они не запускаются автоматически.
Что мне нужно сделать, чтобы это исправить?
ОБНОВЛЕНИЕ
Временное решение, которое я использую, заключается в следующем:
lxc exec alpine-edge service lighttpd start
из родительской ОС (внутри сценария инициализации). Но я считаю, что должен быть способ сделать это автоматически внутри контейнера, поэтому, если я вручную перезагружаю его (контейнер), мне не нужно выполнять эту команду каждый раз.
Alpine Linux использует OpenRC для своей системы инициализации . Основные команды для взаимодействия с ним:
rc-update add <service> [runlevel]
добавляет service
в последовательность инициализации (аналогично systemd
в systemctl enable <service>
в Ubuntu 15.04 и вперед);
rc-update del <service> [runlevel]
[ 1118] останавливает service
запуск во время инициализации системы (аналогично systemd
systemctl disable <service>
);
rc-service <service> [start stop restart]
управляет запущенными в данный момент службами (аналогично systemd
systemctl [start stop restart] <service>
или эквивалентно /etc/init.d/service [start stop restart]
, который работает как в systemd
, так и в OpenRC).
Более подробную информацию можно найти на странице Alpine Wiki, на которую я ссылался выше, и чит-лист для перевода OpenRC- systemd
доступен здесь .