Введение в Docker

  • Введение в Docker

Введение в Docker

  • Docker — это движок контейнеров приложений, который позволяет упаковать приложение и его зависимости в переносимый контейнер, а затем опубликовать его на любой популярной машине Linux или Windows, а также реализовать виртуализацию.
  • Зачем нужен Docker? Потому что разработчики и специалисты по эксплуатации часто сталкиваются с проблемой, когда приложение работает без проблем в среде разработчика, но в реальной производственной среде возникают ошибки.
    • Выполнение программы охватывает различные уровни: от аппаратной архитектуры до операционной системы, а затем до самого приложения. Однако разработчики часто уделяют внимание только разработке приложения, игнорируя проблемы других уровней.
    • Docker появился именно для решения этой проблемы. Он упаковывает приложение и его зависимости в один контейнер, чтобы не нужно было беспокоиться о проблемах среды.
  • Синхронизация сред разработки и производства позволяет разработчикам локально разрабатывать, тестировать и развертывать приложения, не беспокоясь о проблемах среды. Это значительно повышает эффективность разработки и эксплуатации ценой небольшого расхода ресурсов.

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

Давайте опишем один из рабочих процессов использования Docker простыми словами:

  1. Создание среды разработки с нуля, включая операционную систему, приложение, зависимости, файлы конфигурации и т. д.
    • Среда может запускаться в любом месте и создаваться в любом месте.
    • Результат компиляции исходного кода в среде стабилен и предсказуем, поведение полностью идентично.
    • Выполнение программ в среде не вызывает никаких двусмысленностей.
    • Лучше всего создавать среду декларативным способом (docker-compose), чтобы еще больше уменьшить скрытые различия в среде; все о среде уже показано в декларации.
  2. Создание коммита, создание образа. Это эквивалентно снимку, сохраняющему текущую среду для будущего использования.
  3. Обмен образами с другими разработчиками и операторами, чтобы все могли начать работу в едином контексте.
  4. По мере развития бизнеса и изменения требований: изменение образа, повторное создание коммита, пересоздание образа и повторное распространение.

Базовая архитектура Docker