@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, потому как "первооснова" для контейнеров была обновлена?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы