Статьи

dksnap: снимки Docker для разработки и тестирования данных

dksnap позволяет создавать и управлять снимками контейнеров Docker. Мы ожидаем, что это будет особенно полезно для разработчиков, работающих с контейнерами баз данных локально. Проверьте dksnapна GitHub !

Местные разработки и тестовые данные

Одна из лучших сторон работы в Kelda — это то, что мы можем общаться с тоннами разработчиков, которые ежедневно занимаются созданием микросервисов. Мы слышим обо всех преимуществах контейнерных разработок, а также о некоторых проблемах. Одной из таких проблем является управление тестовыми данными во время локальной разработки и тестирования.

Во-первых, некоторый контекст: большинство разработчиков, с которыми мы работаем, используют Docker локально для работы с одним или несколькими контейнерами, которые зависят от какой-либо базы данных. В производстве, конечно, они используют производственную базу данных, управляемую командой ops. Однако при локальной работе доступ к производственной базе данных обычно невозможен. Вместо этого разработчики, как правило, получают контейнер Postgres, MySQL или Mongo из Docker Hub.

Проблема начинается, когда эта база данных должна быть заполнена данными , как правило, это требует раздражающей ручной настройки, которая может занять довольно много времени, чтобы получить право. После того, как была проделана вся работа по правильной настройке контейнера базы данных, последнее, что вам нужно, это сделать это снова . Однако, в конце концов, тесты запускаются, данные устаревают, контейнеры перезапускаются, жизнь продолжается, и вы возвращаетесь к тому, с чего начали — перед вами куча ручных настроек.

Вам также может понравиться: Объяснение Docker — Вводное руководство по Docker

dksnap

dksnap это инструмент, который позволяет создавать, просматривать и выполнять откат моментальных снимков контейнеров в режиме реального времени, не прибегая к использованию скриптов bash или запоминанию сложных команд докера.

После того, как вы настроили свой контейнер точно так, как вам нравится, вы можете создать снимок. После этого вы можете манипулировать вашими данными так, как вам хочется, зная, что вы можете мгновенно вернуться к предыдущему рабочему состоянию за считанные секунды.

В дополнение к основной функции моментальных снимков, dksnapпозволяет заменить работающий контейнер на любой созданный моментальный снимок, а также предоставляет древовидное представление всех ваших снимков вместе с разницей, показывающей, как они изменились с течением времени.

dksnap имеет три ключевых функции, которые нелегко реплицировать со стандартным интерфейсом командной строки Docker.

  • Во-первых, это объем информации. Большинство контейнеров базы данных используют тома, которые docker commitне захватывают.
  • Во-вторых, это база данных. dksnapзнает, как общаться с Mongo, Postgres и MySQL, что позволяет вежливо создавать дампы и восстанавливать данные, а также дает возможность показывать различия между различными версиями снимков.
  • Наконец, что не менее важно, он имеет простой и интуитивно понятный пользовательский интерфейс, который скрывает сложность, необходимую для снимков докера.

Пытаться dksnap

Начать с dksnapочень просто. Этот инструмент является двоичным файлом, который можно установить, запустив в терминале следующее:


Оболочка