Я только что прочитал документацию Docker и пытаюсь немного лучше понять Docker Data Volumes, чем документы, которые были немного нечеткими.
Насколько я понимаю, существует два способа подключения тома Docker:
- Простое монтирование (например,
docker run -it -v /data --name container1 busybox
); и - Подключить к хосту (например,
docker run -it --name container1 -v /path/on/host:/datavol busybox
)
Но для того, чтобы том сохранялся при перезапуске контейнера или даже при замене контейнера (старый контейнер удаляется, новый создается/запускается), разве том не должен быть подключен к хост-компьютеру в обоих подходах?! ? Другими словами, если я не подключаюсь к хосту явным образом с помощью «Простого метода подключения», куда на самом деле монтируется том? И как это место выдерживает замену контейнеров?
Кроме того, в обоих случаях я предполагаю, что том является локальным только для данного хоста, и что если у вас есть Swarm или кластер, работающий на нескольких хостах, нет возможности использовать эти команды, чтобы контейнеры, работающие на разных хостах, могли получить доступ к этим томам. , да? (И я предполагаю, что именно здесь в игру вступают контейнеры томов данных, верно?) Заранее спасибо!