Популярность и спрос на управляемые контейнеры в разработке растут день ото дня. Преимущества запуска контейнеров по сравнению с использованием традиционных методов виртуализации известны для всех. Но куда идут данные в работающем контейнере. Давай выясним!
Если мы посмотрим на изображение ниже-
Есть локальная машина, которая имеет контейнер Запуск на память, и он хочет получить доступ к данным где -то на диске.
Есть два способа, которыми Docker позволяет нам сделать это-
- Постоянный вариант состояния 1- Слепые крепления
- Постоянный вариант состояния 2- тома
Давайте посмотрим на обоих методов-
Упорное состояние штата-1: Слепые крепления
Если мы посмотрим на диаграмму выше, на левой стороне, он показывает контейнер на оперативной памяти, который доступа к креплению на диске. Это своего рода быстрый способ получить доступ к данным на диске машины. Следовательно, контейнер может получить доступ к каталогу, находящемуся в файловой системе, непосредственно в файловой системе компьютера. Это называется креплением.
Мы можем использовать следующую команду- Docker Run-Volume Local-Path: Путь контейнера
Эта команда отображает локальный каталог в контейнер. Здесь мы также можем указать разрешения, такие как (здесь) ro для только для чтения , так далее.
Например: Docker run -v/home/username/project:/app: ro
docker run -v $ (pwd):/opt/project
———————————————————- ——————— Docker run -mount ,, target =/opt/project
Приведенный выше метод отлично работает, если используется в Режим разработки . Это означает, что, если мы находимся на локальной фазе разработки и не работаем в производственной системе, этот метод может оказаться быстрым и эффективным. Но не желательно использовать гору Метод, находясь в производственной системе. Простая причина этого заключается в том, что наш местный путь не будет присутствовать в облаке, в то время как мы развертываем наш проект там.
Это причина, по которой Docker предоставляет нам другую систему, называемую системой громкости.
Упорное состояние штата 2: Тома
Когда мы устанавливаем Docker на Docker-Time на нашу локальную компьютерную систему, мы предоставляем ему доступ к вычислительным ресурсам локальной машины. Например- процессор, память, немного места на диске и т. Д. В результате Docker становится способным управлять частью жесткого диска локальной машины, а также контролировать распределение дискового пространства и управлять им само по себе. Этот метод более надежный, чем предыдущий. Его можно использовать, находясь в обоих Режим разработки а также в Производственный режим Анкет
Следующая команда может быть использована для использования метода тома: Docker run-volume tolume-name: Контейнерный путь
Для примера: Docker Run -v Project -Dat:/app
———————————————————- —————— Docker run-mount-data, target =/var/lib//my-sql
Концепция тома в докере и Kubernetes
Том это концепция, которая существует в Docker , но это также важная концепция в Kubernetes .
Как Docker представляет громкость
Простой контейнер, построенный с помощью Dockerfile без какого -либо контекста, является временным контейнером, созданным в процессе создания изображения. Снимки публичного изображения копируются в контейнер. Это снимок, который заблокирован во времени и не обновляется по умолчанию с изменением любого кода.
Чтобы обновить изменения, мы можем или или
- Постройте изображение снова снова и сделайте прямую копию, или
- отказываться от подхода к прямой копии
Используя Docker-Volume, вместо того, чтобы делать прямую копию, мы настраиваем Docker Run
Команда, которая используется для запуска работающего контейнера с помощью функции с Docker под названием тома .
Громкость устанавливает ссылку внутри Docker-Container, который указывает на локальную машину и дает доступ к файлам внутри этих папок на локальной машине.
Итак, Docker-Volume можно подумать о чем -то вроде Порт-карты Анкет В картировании порта мы сопоставляем порт внутри контейнера с портом за пределами контейнера. Точно так же, используя Docker-Volume, мы настраиваем отображение из папки внутри контейнера в папку за пределами контейнера.
Чтобы узнать больше о Docker -Volumes, см. -> Здесь Анкет
Термин том кажется очень очень похожим как в контекстах Docker, так и в Kubernetes. Давайте сделаем небольшой взгляд на то, что является громкостью в Kubernetes.
Что такое громкость в Kubernetes
Том Kubernetes — это каталог, который содержит данные, которые доступны для контейнеров в заданном POD Анкет POD находится в платформе оркестровки и планирования. Объем в Kubernetes обеспечивают механизм подключения для подключения эфемерных контейнеров с постоянными хранилищами данных в других местах.
Докер имеет концепцию объемов, но она менее управляется, и функциональность несколько ограничена. Kubernetes, с другой стороны, поддерживает многие типы объемов. По своей сути, том — это каталог, который может/может не иметь данных в нем, которые доступны для контейнеров в стручке.
Для получения дополнительной информации о Kubernetes -Volume см. -> здесь
Дополнительные ресурсы:
Прочитайте документы: -> Docker -> Kubernetes
Информативные веб -сайты: -> Данные о Kubernetes -> Civo-learn
Также читайте-> Руководство для начинающих по Docker, для краткого представления о том, что такое Docker и как он работает.
Оригинал: «https://dev.to/noviicee/where-does-the-data-go-2329»