Учебники

Докер — Хранение

Docker имеет несколько драйверов хранения, которые позволяют работать с соответствующими устройствами хранения. В следующей таблице показаны различные драйверы хранилища, а также технология, используемая для драйверов хранилища.

Технология Драйвер хранилища
OverlayFS оверлей или оверлей2
AUFS AUFS
Btrfs brtfs
Диспетчер устройств Диспетчер устройств
VFS VFS
ZFS ZFS

Давайте теперь обсудим некоторые случаи, когда вы будете использовать различные драйверы хранилища —

AUFS

  • Это стабильный драйвер; может быть использован для готовых приложений.

  • Он имеет хорошее использование памяти и обеспечивает бесперебойную работу Docker для контейнеров.

  • Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

  • Это хорошо для систем, которые имеют Платформу как тип обслуживания.

Это стабильный драйвер; может быть использован для готовых приложений.

Он имеет хорошее использование памяти и обеспечивает бесперебойную работу Docker для контейнеров.

Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

Это хорошо для систем, которые имеют Платформу как тип обслуживания.

Devicemapper

  • Это стабильный драйвер; обеспечивает беспроблемное взаимодействие с докером.

  • Этот драйвер хорош для тестирования приложений в лаборатории.

  • Этот драйвер соответствует основным функциональным возможностям ядра Linux.

Это стабильный драйвер; обеспечивает беспроблемное взаимодействие с докером.

Этот драйвер хорош для тестирования приложений в лаборатории.

Этот драйвер соответствует основным функциональным возможностям ядра Linux.

Btrfs

  • Этот драйвер соответствует основным функциональным возможностям ядра Linux.

  • Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

  • Этот драйвер подходит для случаев, когда вы поддерживаете несколько пулов сборки.

Этот драйвер соответствует основным функциональным возможностям ядра Linux.

Существует высокая активность записи, связанная с этим драйвером, который следует учитывать.

Этот драйвер подходит для случаев, когда вы поддерживаете несколько пулов сборки.

Ovelay

  • Это стабильный драйвер, который соответствует основным функциям ядра Linux.

  • У него хорошее использование памяти.

  • Этот драйвер хорош для тестирования приложений в лаборатории.

Это стабильный драйвер, который соответствует основным функциям ядра Linux.

У него хорошее использование памяти.

Этот драйвер хорош для тестирования приложений в лаборатории.

ZFS

  • Это стабильный драйвер, и он хорош для тестирования приложений в лаборатории.

  • Это хорошо для систем, работающих по типу «платформа как услуга».

Это стабильный драйвер, и он хорош для тестирования приложений в лаборатории.

Это хорошо для систем, работающих по типу «платформа как услуга».

Чтобы увидеть используемый драйвер хранилища, введите команду docker info .

Синтаксис

docker info 

Опции

Никто

Возвращаемое значение

Команда предоставит всю относительную информацию о компоненте Docker, установленном на Docker Host.

пример

sudo docker info 

Выход

Следующий вывод показывает, что основным драйвером является драйвер aufs и что корневой каталог хранится в / var / lib / docker / aufs .

AUFS Driver

Объемы данных

В Docker у вас есть отдельный том, который можно использовать в разных контейнерах. Они известны как объемы данных . Некоторые особенности объема данных —

  • Они инициализируются при создании контейнера.
  • Они могут быть общими, а также повторно использованы во многих контейнерах.
  • Любые изменения самого тома могут быть сделаны напрямую.
  • Они существуют даже после удаления контейнера.

Давайте посмотрим на наш контейнер Дженкинс. Давайте сделаем проверку докера, чтобы увидеть детали этого изображения. Мы можем выполнить следующую команду, чтобы записать вывод команды docker inspect в текстовый файл, а затем просмотреть файл соответствующим образом.

sudo docker inspect Jenkins > tmp.txt

Когда вы просматриваете текстовый файл с помощью команды more , вы увидите запись как JENKINS_HOME = / var / Jenkins_home .

Это отображение, которое выполняется внутри контейнера через изображение Jenkins.

Объемы данных

Теперь предположим, что вы хотите отобразить том в контейнере на локальный том, тогда вам нужно указать опцию –v при запуске контейнера. Пример показан ниже —

sudo docker run d v /home/demo:/var/jenkins_home p 8080:8080 p 50000:50000 jenkins 

Параметр –v используется для сопоставления тома в контейнере, который является / var / jenkins_home, с местоположением на нашем хосте Docker, которое является / home / demo .

V вариант

Теперь, если вы перейдете в каталог / home / demo на вашем Docker Host после запуска вашего контейнера, вы увидите все файлы контейнера, присутствующие там.

Контейнерные Файлы

Изменение драйвера хранилища для контейнера

Если вы хотите перейти на драйвер хранилища, используемый для контейнера, вы можете сделать это при запуске контейнера. Это можно сделать с помощью параметра –volume-driver при использовании команды docker run . Пример приведен ниже —

sudo docker run d volume-driver=flocker 
   v /home/demo:/var/jenkins_home p 8080:8080 p 50000:50000 jenkins

Параметр –volume-driver используется для указания другого драйвера хранилища для контейнера.

Громкость драйвера

Чтобы подтвердить, что драйвер был изменен, сначала давайте воспользуемся командой docker ps, чтобы увидеть запущенные контейнеры и получить идентификатор контейнера. Итак, сначала выполните следующую команду —

sudo docker ps

Затем выполните проверку докера для контейнера и поместите вывод в текстовый файл с помощью команды.

sudo docker inspect 9bffb1bfebee > temp.txt 

Докер против командования

Если вы просмотрите текстовый файл и перейдете к строке с надписью VolumeDriver , вы увидите, что имя драйвера было изменено.

Имя драйвера изменилось

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

Том можно создать заранее с помощью команды docker . Давайте узнаем больше об этой команде.

Синтаксис

docker volume create –-name=volumename –-opt options

Опции

  • name — это имя тома, который нужно создать.

  • opt — это опции, которые вы можете предоставить при создании тома.

name — это имя тома, который нужно создать.

opt — это опции, которые вы можете предоставить при создании тома.

Возвращаемое значение

Команда выведет имя созданного тома.

пример

sudo docker volume create –-name = demo opt o = size = 100m 

В приведенной выше команде мы создаем том размером 100 МБ с именем demo.

Выход

Вывод вышеуказанной команды показан ниже —

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

Перечисление всех томов

Вы также можете перечислить все тома докеров на хосте докеров . Более подробная информация об этой команде приведена ниже —

Синтаксис

docker volume ls 

Опции

Никто

Возвращаемое значение

Команда выведет все тома на хост докера .

пример

sudo docker volume ls

Выход

Вывод вышеуказанной команды показан ниже —