169 похожих чатов

У меня максимально странный вопрос. Я запускаю systemd внутри докер-контейнера

с пачкой сервисов так:
...
ENTRYPOINT ["/usr/lib/systemd/systemd"]

Дальше от юзера ожидается, что он обязательно должен поднимать контейнер с обязательным дефайном переменной:
podman run -e FOO=123

Как перед запуском systemd проверить, что переменная заефайнена и, если да — нормально запускать systemd, словно бы он pid1, а если переменная не указана — написать сообщение и убить вообще всё тут же не доходя до запуска юнитов?

9 ответов

45 просмотров

Инит скрипт

Ofee-Oficsu Автор вопроса
ninekeem 🐳
Инит скрипт

Как мне потом из него запустить systemd? Или предлагается переписать сервисы на башпортянки?

Ofee-Oficsu Автор вопроса
ninekeem 🐳
Из инит скрипта и запустить

systemd не зпускается, если он не pid1. Если бы он запускался, этого вопроса вообще не блыо бы

Ofee Oficsu
Как мне потом из него запустить systemd? Или предл...

Как-то так: #!/bin/sh if [ -z "${FOO}" ]; then exit 1 fi exec /usr/lib/systemd/systemd Но я бы возможно порекомендовал обойтись без systemd. Это не docker-way.

Внутри контейнеров можно взять более легкий supervisord а вообще у вас контейнер по сути демон под контролем рантайма. Вы себе какой-то гемор придумали на ровном месте и страдаете

Ofee-Oficsu Автор вопроса
Alexander Satirskiy
Как-то так: #!/bin/sh if [ -z "${FOO}" ]; then ...

Я, конечно же, попробовал это, но оно так не работает, systemd при запуске из враппера падает с чем-то вроде Failed to mount tmpfs at /run: Operation not permitted [!!!!!!] Failed to mount API filesystems. Exiting PID 1...

Ofee-Oficsu Автор вопроса
Solyar
Внутри контейнеров можно взять более легкий superv...

@satirsky, @solard, по поводу того, чтобы выкинуть systemd вообще — я думал, тем более, под ним в конечном итоге вообще запускается графическое приложение. Но ему для нормальной работы нужно, чтобы работало несколько сервисов в фоне, юниты к которым достаточно сложные и написаны не мной — я не уверен, что вообще смогу правильно отвязать от systemd, и не хочу перепроверять их корректность после каждого обновления базового образа

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта