Создайте том Docker с уже существующими в нем данными

У меня есть образ MySQL, из которого я запускаю контейнер. Я настраиваю dbs, импортирую файлы sql-dump и создаю пользователей каждый раз, когда создается контейнер.

Когда я работаю над контейнером, я создаю различные данные, которые хранятся в MySQL.

Я хотел бы сохранить эти дополнительные данные в контейнере объема данных [DVC], чтобы я мог передать DVC коллеге и продолжить с того места, где остановился.

Все дело в том, что он также запустит контейнер MySQL и первоначальная процедура будет повторяться с нуля.

Как я читал, если я смонтирую [--volumes-from] тома [/etc/mysql и /var/lib/mysql] из DVC, уже существующие данные будут закрыты и не будут доступны для чтения.

Можно ли использовать тома с каталогами, в которых уже есть данные?


person Kostas Demiris    schedule 22.03.2016    source источник


Ответы (1)


Короткий ответ — нет, но это потому, что вы выбрали неверный путь со своим контейнером.

Вот почему ваше изображение не должно содержать статические данные. Храните статические элементы в изображении, а динамические — в контейнере данных. (И сценарий запуска для динамической оценки всего, что в этом нуждается)

Вероятно, вы можете использовать docker cp для извлечения файлов в контейнер данных для одноразового использования - или просто сквозное монтирование локальной файловой системы в новую точку монтирования и просто использовать tar / rsync с docker exec перед повторным монтированием - но на самом деле я бы предложите перестроить свой образ, чтобы всегда использовать контейнер данных для его данных.

person Sobrique    schedule 22.03.2016
comment
Я думаю, что я мог бы реструктурировать свой образ, как я понял, смонтировав контейнер тома ДО того, как я что-либо создам, и все данные [исходные и новые] будут находиться в контейнере данных. Затем я могу поделиться DVC, и кто-то другой сможет продолжить с того места, где я остановился. Я думаю, что таким образом при использовании файла docker-compose будет решать вопрос о том, использовать ли новый DVC или существующий. Правильный? - person Kostas Demiris; 22.03.2016
comment
Да. Это бы сработало. - person Sobrique; 22.03.2016