Skip to content

Latest commit

 

History

History
46 lines (33 loc) · 3.16 KB

4.3.3 PersistanceData.md

File metadata and controls

46 lines (33 loc) · 3.16 KB

Хранение данных

  1. Хранение данных в Docker

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

Рассмотрим два способа хранения данных контейнеров:

  • named volumes – именованные тома хранения данных Позволяет сохранять данные в именованный том, который располагается в каталоге в /var/lib/docker/volumes и не удаляется при удалении контейнера. Том может быть подключен к нескольким контейнерам
# named volume

# Запуск контейнера jenkins с подключением каталога /var/jenkins_home как тома jenkins_home
docker run --detach \
--name jenkins --publish 80:8080 \
--volume=jenkins_home:/var/jenkins_home/ \
jenkins/jenkins:lts-jdk11

# Просмотр томов
docker volume ls 

# Удаление неиспользуемых томов и очистка диска. Для удаления тома все контейнеры, в которых он подключен, должны быть остановлены и удалены
docker volume prune
  • bind mount – монтирование каталога с хоста Позволяет монтировать файл или каталог с хоста в контейнер. На практике используется для проброса конфигурационных файлов или каталога БД внутрь контейнера
# bind mount

# Запуск контейнера node-exporter с монтированием каталогов внутрь контейнера в режиме read only: /proc хоста прокидывается в /host/proc:ro внутрь контейнера, /sys - в /host/sys:ro, а / - в /rootfs:ro
docker run \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--name node-exporter \
prom/node-exporter:v1.1.2

4.3.2 Dockerfile Theme | Back To iOSWiki Contents | 4.3.4 Network Driver