Работая над проектом разработки в 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.