В случае Docker данные будут храниться внутри контейнера.
И когда мы удалим контейнер, все данные будут потеряны.
В этом руководстве мы узнаем, как создавать тома Docker, как подключать их к контейнерам и как один и тот же том можно использовать для хранения данных в двух или более контейнерах.
Почему нам нужны тома для Docker?
- При удалении контейнеров тома не будут удалены.
- Присоединяйте или отсоединяйте тома к контейнерам.
- Позволяет разделить тома (хранилище / данные) между различными контейнерами.
- Позволяет отделение контейнеров от хранилиша.
- Позволяет Хранить том на удаленном хосте или в облаке.
Начало работы с томами Docker
# docker volume

Создание томов Docker
Синтаксис для создания тома Docker:
docker volume create <volume_name>
# docker volume create devops_volume

Список Docker томов
Чтобы показать список всех созданных томов Docker, запустите:
# docker volume ls

Проверка томов Docker
Команда docker volume inspect предоставит вам подробную информацию о создании тома, расположении, имени и области действия.
Синтаксис:
docker volume inspect <volume_name>
# docker volume inspect devops_volume
Создание контейнеров с прикрепленным к ним томом
Синтаксис:
docker container create --name <container_name> -it --mount source<volume_name>,target=/<folder_Name> <image_name>
Пример:
# docker container create --name myBusyBox1 -it --mount source=devops_volume,target=/app busybox
Удалить тома Docker
Синтаксис для удаления тома:
docker volume rm <volume_name>
Давайте удалим том с именем devops_volume.
# docker volume rm devops_volume
На снимке экрана показано, что мы пытаемся удалить том, но не можем удалить его, потому что том уже используется.
Итак, во-первых, нам нужно убить контейнер и освободить том.
И тогда мы можем удалить его.
Для этого сначала удалите все работающие контейнеры, используя команду:
# docker rm –f $(docker ps -aq)
А затем удалите том:
# docker volume rm devops_volume
Удалить все тома одновременно
Используя команду docker rm, мы можем удалять один том за раз.
Если у нас есть несколько томов и мы хотим удалить все тома, мы должны использовать команду prune.
Давайте создадим несколько томов:
Теперь удалите все тома Docker одновременно, используя команду:
# docker volume prune
Видите?
Мы удалили все тома за один раз.