Ответ 1
Объемы докеров
Вы можете использовать тоны Docker для создания нового тома в вашем контейнере и монтировать его в папку вашего хоста. Например. вы можете установить папку /var/log
вашего хоста Linux в свой контейнер следующим образом:
docker run -d -v /var/log:/opt/my/app/log:rw some/image
Это создаст папку под названием /opt/my/app/log
внутри вашего контейнера. И эта папка будет /var/log
на вашем хосте Linux. Вы можете использовать это для сохранения данных или обмена данными между вашими контейнерами.
Контейнеры объемом докеров
Теперь, если вы монтируете каталог хоста в свои контейнеры, вы каким-то образом сломаете приятную изоляцию Docker. Вы будете "загрязнять" ваш хост данными из контейнеров. Чтобы этого избежать, вы можете создать выделенный контейнер для хранения ваших данных. Докер вызывает этот контейнер "Контейнер объема данных".
Этот контейнер будет иметь том, который вы хотите разделить между контейнерами, например:
docker run -d -v /some/data/to/share --name MyDataContainer some/image
В этом контейнере будет запущено какое-либо приложение (например, база данных) и есть папка с именем /some/data/to/share
. Теперь вы можете поделиться этой папкой с другим контейнером:
docker run -d --volumes-from MyDataContainer some/image
Этот контейнер также будет видеть тот же том, что и в предыдущей команде. Вы можете обмениваться томом между многими контейнерами, поскольку вы могли бы совместно использовать смонтированную папку вашего хоста. Но это не будет загрязнять ваш хост данными - все еще заключено в изолированные контейнеры.