Установка MCL и Buddy при сборке Docker-образа

Добрый день!

Использую Docker-контейнер Manticore Search без монтирования каких-либо внешних томов, так как размер БД относительно невелик. Таблицы типа plain создаются при старте контейнера и периодически обновляются по заданию cron.

В вашей текущей реализации, при установленной переменной окружения EXТRA=1, обе важные дополнительные библиотеки MCL и Buddy загружаются по сети скриптом docker-entrypoint.sh посредством wget каждый раз при старте контейнера. Для работы в production это оказывается делом чрезвычайно рискованным, так как, во-первых, создается зависимость запуска контейнера от доступности ваших библиотек, и, во-вторых, возникает неконтролируемая задержка на загрузку и установку этих библиотек.

Поэтому я вынужден был перенести установку дополнительных библиотек MCL и Buddy на этап сборки своего Docker-образа Manticore Search и заменить ваш docker-entrypoint.sh своим скриптом.

Предлагагаю продумать возможность:

  • переноса установки дополнительных библиотек MCL и Buddy на этап сборки Docker-образа Manticore Search;
  • изменения логики работы скрипта docker-entrypoint.sh: чтобы при установленных переменных окружения EXТRA=1 или MCL=1 необходимые пользователю библиотеки только включались, но не загружались или обновлялись по сети.
  • переноса установки дополнительных библиотек MCL и Buddy на этап сборки Docker-образа Manticore Search;

Пока что не можем этого сделать из-за того, что MCL имеет лицензию несовместимую с лицензией Manticore Search. Но мы работаем над решением этой проблемы.

1 Like