Монтирование каталогов и tmpfs
Изучите монтирование каталогов для доступа к файлам хоста и монтирование tmpfs для хранения временных данных.
«Монтирование каталогов и tmpfs» — бесплатный урок Docker & DevOps Fundamentals на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Docker & DevOps Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.
Хранение данных за пределами томов
На предыдущих уроках мы узнали о томах Docker для хранения данных с сохранением. Но что делать, если Вам нужно напрямую предоставить контейнеру доступ к файлам с хост-компьютера или сохранить временные данные, которые не должны сохраняться надолго?
В этом уроке рассматриваются ещё два способа управления данными: монтирование каталогов и монтирование tmpfs. Они обеспечивают гибкость для разных сценариев использования.

Что такое монтирование каталогов
Монтирование каталога позволяет подключить файл или каталог с хост-компьютера к контейнеру. При этом создаётся прямая связь: изменения на одной стороне сразу отражаются на другой.
- Путь на хосте: расположение на Вашем компьютере.
- Путь в контейнере: расположение внутри контейнера.
- Идеально подходит для разработки, совместного использования конфигурации и доступа к файлам хоста.
Монтирование каталогов на практике
Рассмотрим монтирование каталога на практике. Эта команда монтирует текущий каталог (обозначаемый как $(pwd) в Linux/macOS или %cd% в Windows CMD) в каталог /app контейнера.
Примечание: Перед запуском создайте в текущем каталоге файл с именем hello.txt и запишите в него, например, текст "Hello from host!".
docker run --rm -it \
-v "$(pwd):/app" \
alpine:latest sh -c "ls /app && cat /app/hello.txt"Монтирование каталогов только для чтения
Иногда требуется предоставить контейнеру доступ к данным с хоста, но запретить ему вносить изменения. В этом случае пригодится монтирование только для чтения.
Для этого можно указать :ro в конце пути монтирования или использовать флаг --mount со значением readonly.
docker run --rm -it \
-v "$(pwd):/app:ro" \
alpine:latest sh -c "touch /app/new_file.txt || echo 'Permission denied!'"Понимание вывода при доступе только для чтения
При запуске предыдущей команды Вы должны были увидеть сообщение "Permission denied!". Это подтверждает, что контейнер не смог создать новый файл в каталоге /app, поскольку каталог был смонтирован только для чтения.
Это отличная функция безопасности, защищающая файлы хоста от случайных или вредоносных изменений со стороны контейнера.
Что такое монтирование tmpfs
Монтирование tmpfs — это временная файловая система, полностью хранящаяся в памяти хоста (RAM). Поэтому данные, записанные в tmpfs, не сохраняются.
- Данные теряются при остановке контейнера.
- Операции ввода-вывода выполняются быстрее по сравнению с хранением на диске.
- Подходит для конфиденциальных и временных данных.
Монтирование tmpfs на практике
Создадим контейнер с монтированием tmpfs. Запишем в него файл, а затем выйдем из контейнера. При запуске нового контейнера этот файл исчезнет.
Флаг --tmpfs задаёт точку монтирования внутри контейнера.
docker run --rm -it \
--tmpfs /app/temp_data \
alpine:latest sh -c "echo 'Ephemeral data' > /app/temp_data/my_temp_file.txt && ls /app/temp_data"Проверка временной природы tmpfs
После выполнения последней команды Вы увидели в списке my_temp_file.txt. Теперь выполните эту команду, чтобы запустить *новый* контейнер с *той же* конфигурацией монтирования tmpfs.
Вы заметите, что файла my_temp_file.txt больше нет. Это подтверждает, что данные tmpfs действительно являются временными и существуют только в течение жизненного цикла контейнера.
docker run --rm -it \
--tmpfs /app/temp_data \
alpine:latest ls /app/temp_dataМонтирование каталогов и tmpfs: сравнение
Когда следует использовать каждый вариант?
- Монтирование каталогов: для предоставления контейнерам доступа к файлам хоста (например, к конфигурации и исходному коду) с сохранением данных и прямым доступом к хосту.
- Монтирование tmpfs: для временных данных без сохранения, которым требуется высокая производительность или которые не должны переживать перезапуск контейнера (например, для кэшей и конфиденциальных данных во время работы).
Оба варианта дополняют тома Docker и предоставляют полный набор возможностей управления данными.
Быстрая проверка: типы монтирования
Какие из следующих утверждений о монтировании каталогов и монтировании tmpfs верны?
Итоги: инструменты управления данными
Отличная работа! Вы расширили свой набор инструментов для управления данными Docker.
- Монтирование каталогов связывает файлы и каталоги хоста с контейнерами и отлично подходит для разработки и совместного использования конфигурации.
- Монтирование tmpfs предоставляет временное хранилище в памяти, идеально подходящее для данных без сохранения или конфиденциальных данных.
Понимание этих вариантов поможет Вам выбрать подходящее хранилище для приложений, работающих в контейнерах.
Часто задаваемые вопросы
Урок «Монтирование каталогов и tmpfs» бесплатный?
Да — полный текст урока «Монтирование каталогов и tmpfs» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Docker & DevOps Fundamentals, подпишись на CoddyKit PRO. Курс Docker & DevOps Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Монтирование каталогов и tmpfs»?
Изучите монтирование каталогов для доступа к файлам хоста и монтирование tmpfs для хранения временных данных. Ты практикуешь Docker & DevOps Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Docker & DevOps Fundamentals?
Предыдущий опыт не требуется. Docker & DevOps Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Монтирование каталогов и tmpfs»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Docker & DevOps Fundamentals?
Да. Каждый урок Docker & DevOps Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы сетевого взаимодействия контейнеров
- Тома Docker для сохранения данных
- Монтирование каталогов и tmpfs
- Пользовательские мостовые сети и обнаружение служб