У меня есть Docker-контейнер на основе Alpine, который запускает S6 Overlay для управления двумя службами внутри него (музыкальной базой данных и веб-интерфейсом для управления им). Проблема заключается в том, что второй сервис является необязательным и зависит от переменной среды ${SERVICE_2}
(true | false).
Итак, в основном у меня это есть, но служба не может работать, потому что блок if
недопустим:
#!/usr/bin/execlineb -P
with-contenv
if [ $SERVICE_2 = true ]; then \
sh -c "exec -a service_2 /usr/bin/php /var/www/service_2_music_admin_script.php >> /proc/self/fd/1 2>&1" \
;fi
Выполнение скрипта возвращает:
if: fatal: unterminated block
Кстати, контейнер не имеет bash
; работает Busybox. Я пытаюсь избежать установки Bash, если это не критично.