VOLUMEинструкция становится интересной, когда вы комбинируете ее с volumes-fromпараметром времени выполнения.
Учитывая следующий Dockerfile:
FROM busybox
VOLUME /myvolume
Создайте образ с помощью:
docker build -t my-bb .
И раскрутите контейнер с:
docker run --rm -it --name my-first-bb my-bb
Первое, что следует заметить, это папка с именем на этом изображении myvolume. Но это не особо интересно, так как при выходе из контейнера объем тоже будет удален.
Создайте в этой папке пустой файл, поэтому запустите в контейнере следующее:
cd myvolume
touch hello.txt
Теперь разверните новый контейнер, но разделите тот же объем с my-first-bb:
docker run --rm -it --volumes-from my-first-bb --name my-second-bb my-bb
Вы увидите, что my-second-bbфайл находится hello.txtв myvolumeпапке.
Как только вы выйдете из обоих контейнеров, ваш том также будет удален.