Как правильно использовать Docker data volumes?

Здравствуйте!

В приницпе я разобрался как использовать "data volumes" и для чего они нужны, но я не понимаю зачем за место создания data volumes контейнера, не использовать параметр -v some_dir:some_dir.
Примеры для Postgres (docker-compose)
1. data volumes:
postgres:
  image: postgres:9.5
  volumes_from:
    - postgres-data

postgres-data:
  image: busybox
  volumes:
    - /var/lib/postgresql/data

2. volumes:
postgres:
  image: postgres:9.5
  volumes:
    - ./volumes/postgres:/var/lib/postgresql/data

Какие я вижу плюсы 2го подхода:
1. Чтобы сделать копию не надо моричиться с создание еще одного контенера и запуска в нем команды. Копия всегда перед глазами. Тоже самое и с восстановлением данных в контейнер.
2. Меньше созданных контенеров.
3. Меньше букв в docker-compose.
4. Я могу ошибаться, но у меня был случай, когда как я понял ненужные data volumes забили мне много места на диске (наверно я просто чтото деал не так).

Какие я вижу минусы 2го подхода:
1. Наверняка эта папка будет лежать в вашем рабочем окружении, и вы ненароком можете с ней чтото сделать. Т.е. нету изолированности.

Что еще я не учитываю, и что выбрать?
Спасибо!
  • Вопрос задан
  • 2367 просмотров
Пригласить эксперта
Ответы на вопрос 1
@4Proof
Расписано все верно, но есть свои плюсы у 1го способа (такие как перемещмемость например)
d3vil.me/persistent-docker-data-containers - тут еще немного инфы о отличиях
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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