Необходимость циклической зависимости в докере - PullRequest
0 голосов
/ 31 октября 2019

У меня следующая проблема. Я хочу использовать этот docker-compose файл, так как он начинает настройку после запуска matomo. Я хочу использовать его во время разработки и мне нужны данные после запуска контейнера в mariadb. Я нашел таблицу, где я должен вставить сценарий SQL, который уже написан. Теперь моя проблема

Мне нужны данные в mariadb, поэтому я мог бы использовать docker-entrypoint-initdb.d. К сожалению, в настоящее время нет таблиц, так как matomo, который вставляет структуру таблицы, ждет, пока БД не будет запущена. Контейнер Matomo, похоже, не имеет такой точки входа, которую я мог бы использовать.

Таким образом, у меня есть более или менее matomo зависимость от mariadb и mariadb зависимость от matomo.

У меня следующий вопрос: есть ли более эффективные способы, чем написать собственное изображение, где я адаптирую файл start-up.sh для проверки собственной точки входа для вставки сценария sql? Как уже упоминалось, это только для развития, я хочу, чтобы это было просто.

Заранее спасибо Матиас

1 Ответ

0 голосов
/ 14 ноября 2019

Итак, мы попробовали кое-что.

Прежде всего, мы использовали базовые экземпляры Matomo и MariaDb и надеялись, что конфигурирование на первых этапах должно быть выполнено один раз. Если бы это было так, мы бы сделали дамп базы данных и вставили его в MariaDb во время запуска, так как конечная точка доступна. К сожалению, Matomo нужен IP-адрес MariaDb, и этот IP-адрес не совпадает с IP-адресом localhost, это зависит от контейнера докера, который изменяется при каждом запуске. Таким образом, этот подход также не был успешным.

После этого мы узнали, что битнами изменили образ докера так, как я планировал, через несколько дней после его загрузки. Они добавили именно то, что мне было нужно в сценарии оболочки после инициализации . Теперь я использую конечную точку, и все работает.

...