Концепция выделения хранилища из контейнеров и разделения хранилищ между контейнерами.
На данный момент концепция сырая и пользоваться ею означает, что мы привязываем наши контейнеры к конкретной хост-машине. Или же нам придется всегда предподготавливать хост-машины для горизонтального масштабирования(хотя это и так всегда я думаю нужно, но вопрос цены и трудозатрат всегда актуален).
Например создадим в стандартном месте отделенную директорию от контейнера, и примаунтим ее в контейнере в указанном месте:
Теперь если мы отсоединимся от контейнера и воспользуемся
А теперь мы можем разделить это хранилище с другим конейнером:
Мы также можем замаунтить хостовую директорию прямым указанием:
Нужно не забывать, если мы удаляем контейнер с хоста, то удаления вольюмов автоматически не происходит, для этого нам нужно поставить явную директиву:
На данный момент концепция сырая и пользоваться ею означает, что мы привязываем наши контейнеры к конкретной хост-машине. Или же нам придется всегда предподготавливать хост-машины для горизонтального масштабирования(хотя это и так всегда я думаю нужно, но вопрос цены и трудозатрат всегда актуален).
Например создадим в стандартном месте отделенную директорию от контейнера, и примаунтим ее в контейнере в указанном месте:
docker run -it -v /test-vol --name=voltainer ubuntu:15.04 /bin/bash--name - через эту директиву мы сами можем назвать наш контейнер, а не полагаться на генерацию от docker.
Теперь если мы отсоединимся от контейнера и воспользуемся
docker inspect voltainer:.......
"Volumes": {
"/test-vol": "var/lib/docker/vfs/dir/CONTAINERHASH"
}
....
А теперь мы можем разделить это хранилище с другим конейнером:
# docker run -it --volumes-from=voltainer ubuntu:15.04 /bin/bash
Мы также можем замаунтить хостовую директорию прямым указанием:
# docker run -v /data:/data
Нужно не забывать, если мы удаляем контейнер с хоста, то удаления вольюмов автоматически не происходит, для этого нам нужно поставить явную директиву:
# docker rm -v voltainer
Комментариев нет:
Отправить комментарий