Лайфхак: ускорение Docker volumes с Mutagen

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

dockermutagenvolumes

ℹ️ Если у вас есть большой проект на Docker, и вы используете volume для монтирования кода внутрь контейнера, то вы могли столкнуться с проблемой, что на больших кодовых базах такие volume монтирования работают медленно, особенно при использовании файловых систем вроде MacOS или Windows с Docker Desktop.

🔥 Решение:

Вместо стандартного монтирования volume используйте Mutagen — инструмент для быстрой синхронизации файлов между вашим хостом и контейнером в режиме реального времени.

⚡️ Как использовать Mutagen с Docker:

  1. 👨‍💻 1. Установите Mutagen:

    brew install mutagen-io/mutagen/mutagen
  2. 👨‍💻 2. Настройте файл синхронизации mutagen.yml:

    sync:
      defaults:
        mode: two-way-resolved
      my-sync:
        alpha: . # Локальная директория
        beta: docker://my-container-name/var/www/html # Директория в контейнере
  3. 📂 3. Запустите синхронизацию:

    mutagen project start

ℹ️ Теперь ваши изменения будут моментально синхронизироваться между хостом и контейнером, при этом вы не столкнётесь с падением производительности даже в больших проектах.

✳️ Этот подход отлично подходит для тех, кто работает с большими кодовыми базами, например, в проектах на Python, Node.js или PHP, где нужно часто перезапускать приложение в контейнере после изменений кода.

tags: #полезно #docker #macos #windows

🧭 @recura_tech

Иллюстрация: кит Docker, графики и иконки синхронизации, символизирующие ускорение работы volume и интеграцию с Python.
Кит Docker и символы синхронизации, иллюстрирующие идею ускорения volumes с Mutagen.

Читайте так же