Что такое Docker Bind Mounts?

Cto Takoe Docker Bind Mounts



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

Эта статья проиллюстрирует:







Что такое Docker Bind Mounts?

Монтирование привязки Docker позволяет пользователям сопоставлять определенный файл/каталог на хост-компьютере с файлом/каталогом внутри контейнера. Таким образом, пользователи могут обмениваться данными между хостом и контейнером, а также сохранять данные даже после остановки или удаления контейнера. Любые изменения, внесенные в файлы в общем каталоге или файле, видны как из контейнера, так и из хост-компьютера.



Как работает Bind Mount в Docker?

Давайте возьмем пример и посмотрим, как работает bind-mount в Docker. Предположим, что у нас есть пустой каталог « Тест ' находится в ' C:\Докер ” в локальной системе. Теперь мы хотим получить доступ к « Тест » содержимое каталога в местоположении « /приложение ” из определенного контейнера. В этом примере запустите контейнер из официального образа Docker, т. е. « нгинкс ” и используйте монтирование привязки для монтирования определенного каталога с хост-компьютера в контейнер.



Для лучшего понимания следуйте предложенным шагам.





Шаг 1. Привяжите каталог монтирования от хост-компьютера к контейнеру

Во-первых, используйте « docker run -d –name <имя-контейнера> -v <путь-источника>:<путь-назначения> <имя-образа> ” и запустите контейнер. Он привязывает каталог монтирования с хост-компьютера к контейнеру:



докер запустить --имя мойКонт С: / Докер / Тест: / приложение nginx: последнее


Здесь:

    • ” используется для запуска контейнера в фоновом режиме.
    • -имя ” используется для определения имени контейнера.
    • мойКонт ” — это имя нашего контейнера.
    • ” создает том в контейнере, который сопоставляет исходный каталог на хост-компьютере с целевым каталогом в контейнере.
    • C:/Докер/Тест ” — это путь к исходному каталогу (локальный компьютер).
    • /приложение ” — путь к целевому каталогу (контейнеру).
    • nginx: последний ” — это последний образ Docker:



Эта команда создала контейнер и разрешила ему доступ к файлам с хост-компьютера, что упрощает управление сохранением данных.

Шаг 2: Создайте файл в исходном каталоге на хост-компьютере

Затем перейдите к пути к исходному каталогу, т. Е. « C:/Докер/Тест » на хост-компьютере и создайте в нем обычный текстовый файл. Например, мы создали « Демо ' файл:


Шаг 3. Доступ к файлу хост-машины внутри контейнера

Теперь введите приведенную ниже команду, чтобы получить доступ к содержимому контейнера и запустить внутри него команды:

докер исполнитель -это мойКонт бить



После этого оболочка контейнера откроется.

После этого выведите список содержимого контейнера с помощью предоставленной команды:

лс



На приведенном выше снимке экрана видно все содержимое контейнера. Выберите нужный каталог и перейдите к нему.

Перенаправить на « приложение ” каталог:

CD приложение


Затем перечислите « приложение », чтобы убедиться, что в нем доступен файл локального компьютера:

лс



Можно заметить, что « Демо.txt » доступен внутри контейнера, и мы можем получить к нему доступ.

Шаг 4: Создайте файл внутри контейнера

Затем создайте еще один файл внутри контейнера, используя « трогать команда:

трогать новый.txt



Мы создали « новый.txt ' файл.

Затем проверьте вновь созданный файл с помощью приведенной ниже команды:

лс



Видно, что файл « новый.txt ” был успешно создан внутри контейнера.

Шаг 5. Проверьте файл в локальной системе

Наконец, перейдите к пути к локальному компьютеру и проверьте, новый.txt » доступен или нет:


Как видите, « новый.txt » доступен на локальном компьютере, и мы можем получить к нему доступ. Это указывает на то, что изменения также отражаются на локальном компьютере.

Шаг 6. Удалите контейнер Docker

Теперь удалите контейнер через « докер рм ” вместе с именем контейнера:

докер г.м. мойКонт



мойКонт ”контейнер был успешно удален.

Шаг 7. Убедитесь, что данные сохранены на локальном компьютере

После удаления контейнера проверьте, сохранились ли данные на локальном компьютере или нет:


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

Заключение

Монтирование привязки Docker используется для сопоставления каталога или файла из хост-системы с контейнером. Он создает связь между указанным каталогом или файлом на хосте и файловой системой контейнера. Это упрощает и упрощает работу с файлами, которые хранятся вне контейнера. Любые изменения, внесенные в файлы в общем каталоге или файле, будут отражены как в хосте, так и в контейнере. В этой статье рассказывается о монтировании привязки Docker и его работе в Docker.