Я хотел бы создать образ Docker MySQL с уже заполненными данными.
Я хочу создать 3 слоя следующим образом:
|---------------------|---------------------|
Layer 3 | Customer 1 Database | Customer 2 Database |
|---------------------|---------------------|
Layer 2 | Database image with tables but no data |
|-------------------------------------------|
Layer 1 | mysql:5.6.26 |
|-------------------------------------------|
Вопрос теперь в том, как создать правильный файл Docker для слоев 2 и 3? Где мой файл empty_with_tables.sql загружается в слой 2, а customer1.sql и customer2.sql загружаются в два изображения на уровне 3. Я прочитал кое-что о том, как помещать файлы SQL в '/docker-entrypoint-initdb.d'. Но это приведет к тому, что данные будут, когда изображение будет запущено в первый раз. Это не то, что я хочу. Я хочу, чтобы данные были готовы на изображении (например, чтобы быть быстрым в тестировании).
Я мог бы запустить образ mysql, загрузить данные из командной строки и выполнить команду "commit", но это не воспроизводится, требуя сделать это снова, когда данные в файлах SQL будут изменены.
Как это можно сделать?
С уважением,
- Мортен Грин Хермансен