JavaRush /Курсы /Модуль 2: Fullstack /Создание и управление томами

Создание и управление томами

Модуль 2: Fullstack
16 уровень , 1 лекция
Открыта

2.1 Основные команды docker volume

Тома (volumes) в Docker обеспечивают долговременное хранение данных контейнеров и позволяют легко управлять и изолировать данные. Команда docker volume предоставляет набор инструментов для создания, управления и удаления томов. В этой лекции мы рассмотрим, как использовать команду docker volume для эффективного управления томами в Docker.

Основные команды docker volume:

  1. docker volume create
  2. docker volume ls
  3. docker volume inspect
  4. docker volume rm
  5. docker volume prune

2.2 Создание тома: docker volume create

Команда docker volume create используется для создания нового тома. По умолчанию Docker создает том в стандартном месте на хосте, но вы также можете указать различные параметры для настройки тома.

Простой пример создания тома

Этот пример создаст том с именем my_volume.

Terminal

docker volume create my_volume

Создание тома с настройками

Вы можете указать драйвер и параметры для создания тома с определенными характеристиками.

Terminal

docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt 
device=tmpfs my_custom_volume

Все эти параметры мы рассмотрим ниже, пока не сильно на них обращайте внимание.

2.3 Список томов: docker volume ls

Команда docker volume ls отображает список всех томов, созданных на хосте.

Terminal

docker volume ls

Вывод будет содержать информацию о всех существующих томах:

Terminal

DRIVER    VOLUME NAME
local     my_volume
local     my_custom_volume

2.4 Информация о томе: docker volume inspect

Команда docker volume inspect предоставляет детальную информацию о конкретном томе, включая его местоположение, параметры и использование.

Terminal

docker volume inspect my_volume

Вывод команды будет содержать информацию в формате JSON:

JSON

[
    {
        "CreatedAt": "2023-07-26T12:34:56Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
        "Name": "my_volume",
        "Options": {},
        "Scope": "local"
    }
]

2.5 Удаление тома: docker volume rm

Команда docker volume rm используется для удаления тома. Важно убедиться, что том не используется контейнерами перед его удалением.

Удаление тома

Если том используется, Docker выдаст ошибку, указывая, что том не может быть удален.

Terminal

docker volume rm my_volume

Очистка неиспользуемых томов: docker volume prune

Команда docker volume prune удаляет все неиспользуемые тома, что помогает освободить место на диске.

Очистка неиспользуемых томов

После выполнения команды Docker запросит подтверждение перед удалением всех неиспользуемых томов.

Terminal

docker volume prune

2.6 Примеры практического использования команд

Пример 1: Создание и использование тома в контейнере

Создание тома:

Terminal

docker volume create app_data

Запуск контейнера с использованием тома:

Terminal

docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx

В этом примере том app_data монтируется в директорию /usr/share/nginx/html контейнера nginx.

Пример 2: Получение информации о томе

Создание тома:

Terminal

docker volume create logs_data

Запуск контейнера с использованием тома:

Terminal

docker run -d --name log_app -v logs_data:/var/log/app busybox

Просмотр информации о томе:

Terminal

docker volume inspect logs_data

Пример 3: Удаление и очистка томов

Создание и использование тома:

Terminal

docker volume create temp_data

docker run -d --name temp_app -v temp_data:/tmp busybox

Остановка и удаление контейнера:

Terminal

docker stop temp_app

docker rm temp_app

Удаление тома:

Terminal

docker volume rm temp_data

Очистка всех неиспользуемых томов:

Terminal

docker volume prune
3
Задача
Модуль 2: Fullstack, 16 уровень, 1 лекция
Недоступна
Создание и использование тома
Создание и использование тома
3
Задача
Модуль 2: Fullstack, 16 уровень, 1 лекция
Недоступна
Просмотр информации о томе
Просмотр информации о томе
3
Задача
Модуль 2: Fullstack, 16 уровень, 1 лекция
Недоступна
Удаление тома
Удаление тома
3
Задача
Модуль 2: Fullstack, 16 уровень, 1 лекция
Недоступна
Очистка неиспользуемых томов
Очистка неиспользуемых томов
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ