Вы неправильно понимаете Docker-Volume.
Docker-Image больше о времени сборки.Docker-Volume полезен только во время выполнения.
Попробуйте выполнить следующие команды, чтобы получить представление:
docker run --rm -it -v=sample_vol:/tmp/myvolume archlinux/base touch /tmp/myvolume/1.txt
docker run --rm -it -v=sample_vol:/tmp/myvolume archlinux/base touch /tmp/myvolume/2.txt
docker run --rm -it -v=sample_vol:/tmp/myvolume archlinux/base touch /tmp/myvolume/3.txt
docker run --rm -it -v=sample_vol:/tmp/myvolume archlinux/base ls -altr /tmp/myvolume/
1-й контейнер создает файл 1.txt в томе докера, смонтированном в / tmp / myvolumeи затем контейнер удаляется после этой операции.
2-й контейнер создает файл 2.txt в томе докера, смонтированном в / tmp / myvolume, а затем контейнер удаляется после этой операции.
3-й контейнер создает файл 3.txt вТом докера, смонтированный в / tmp / myvolume, а затем контейнер удаляется после этой операции.
Файлы списка 4-го контейнера в томе докера монтируются в / tmp / myvolume, а затем контейнер удаляется после этой операции.
Том Docker предназначен для хранения постоянных данных за пределами жизненного цикла контейнера. Это означает, что при удалении контейнера у вас все еще остаются данные вне контейнера, находящиеся внутри тома.
Так что в следующий раз, если вы создадите контейнер и присоедините этот том докера - вы автоматически получите все данные с новым контейнером.
Рассмотрим пример образа базы данных, в котором вы хотите, чтобы объем данных был таким, чтобы при изменении контейнера на более высокую версию вы получали старые данные в новой базе данных.