Этот вопрос аналогичен:Включая данных в MySQL Докер контейнер
Setting up MySQL and importing dump within Dockerfile
Но ответ на этот вопрос не решить мой случай использования.
У меня есть база данных MySQL, в которой есть 5TB данных в Production. Для Dev мне нужно всего около 500 МБ этих данных. Интеграционные тесты, выполняемые как часть сборки моего приложения, требуют доступа к базе данных MySQL. В настоящее время эта БД создается на Дженкинсе, и данные вносятся в нее процессом сборки. Это очень медленно.
Я хотел бы заменить эту часть этого процесса на Docker. Моя идея состоит в том, что у меня будет контейнер Docker, который запускает MySQL, и у меня есть мои 500 Мбайт данных, уже запеченные в контейнере, вместо того, чтобы полагаться на стандартный процесс, связанный с образцом Docker MySQL, только выполняющий импорт MySQL при запуске контейнера. Основываясь на тестах на сегодняшний день, стандартный процесс занимает 4-5 минут, где я хотел бы получить это до нескольких секунд.
Я бы подумал, что это будет распространенный прецедент, но предварительные данные в контейнерах MySQL Docker, похоже, не одобряются, и на самом деле нет никаких рекомендаций. Этот метод.
Есть ли у кого-нибудь опыт в этом отношении? Есть ли веская причина, почему данные не должны быть предварительно обработаны в контейнере MySQL Docker?
Это было в значительной степени мое мнение, но, похоже, не существует документально оформленного процесса создания такого изображения. Я попытался запустить демон MySQL в файле Docker и импортировать дамп, но это не работает. –