@v_cirill

Docker, использование volume, миграция контейнеров между физ хостами?

Добрый день.

С какой целью используется volume в dockerfile и как мигрировать контейнеры с использованием volume между физическими хостами?

Вот к примеру mysql dockerfile

VOLUME ["/var/lib/mysql"]

В документации написанно следующее

1) Data volumes can be shared and reused between containers
2) Changes to a data volume are made directly
3) Changes to a data volume will not be included when you update an image
4) Volumes persist until no containers use them

Не понимаю 3 пункт.
Запустил я mysql, создал базу, сделал commit в образ и данные из каталога указанного в volume не попали в образ?

И как мигрировать контейнеры с volume между хостами?
через docker save или export ?
  • Вопрос задан
  • 3108 просмотров
Пригласить эксперта
Ответы на вопрос 1
@v_cirill Автор вопроса
Правильно ли я понимаю ситуацию с volume

Есть у меня image lalal/mysql от мейнтенера lalal
при сборке которого не указанно VOLUME

Запустил два контейнера на основе этого image - host1 и host2
внутри контейнера работают mysql и есть несколько баз в /var/lib/mysql
Получилось image + два слоя для контейнеров.

И тут я понимаю, что неплохо бы обновить версию mysql и вижу, что lalal обновил image
Стопаю контейнеры host1 host2, обновляю image, запускаю host1 и host2 и вижу что каталоги /var/lib/mysql заменены на каталоги из обновленной image, потому как "первооснова" для контейнеров была обновлена?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы