Введение в Docker
Categories:
- Введение в Docker
Введение в Docker
- Docker — это движок контейнеров приложений, который позволяет упаковать приложение и его зависимости в переносимый контейнер, а затем опубликовать его на любой популярной машине Linux или Windows, а также реализовать виртуализацию.
- Зачем нужен Docker? Потому что разработчики и специалисты по эксплуатации часто сталкиваются с проблемой, когда приложение работает без проблем в среде разработчика, но в реальной производственной среде возникают ошибки.
- Выполнение программы охватывает различные уровни: от аппаратной архитектуры до операционной системы, а затем до самого приложения. Однако разработчики часто уделяют внимание только разработке приложения, игнорируя проблемы других уровней.
- Docker появился именно для решения этой проблемы. Он упаковывает приложение и его зависимости в один контейнер, чтобы не нужно было беспокоиться о проблемах среды.
- Синхронизация сред разработки и производства позволяет разработчикам локально разрабатывать, тестировать и развертывать приложения, не беспокоясь о проблемах среды. Это значительно повышает эффективность разработки и эксплуатации ценой небольшого расхода ресурсов.
Я настоятельно рекомендую всем разработчикам научиться использовать контейнеры для разработки и развертывания. Это за относительно низкую цену обеспечивает стабильную среду выполнения для вашего приложения, повышая эффективность разработки и эксплуатации.
Давайте опишем один из рабочих процессов использования Docker простыми словами:
- Создание среды разработки с нуля, включая операционную систему, приложение, зависимости, файлы конфигурации и т. д.
- Среда может запускаться в любом месте и создаваться в любом месте.
- Результат компиляции исходного кода в среде стабилен и предсказуем, поведение полностью идентично.
- Выполнение программ в среде не вызывает никаких двусмысленностей.
- Лучше всего создавать среду декларативным способом (docker-compose), чтобы еще больше уменьшить скрытые различия в среде; все о среде уже показано в декларации.
- Создание коммита, создание образа. Это эквивалентно снимку, сохраняющему текущую среду для будущего использования.
- Обмен образами с другими разработчиками и операторами, чтобы все могли начать работу в едином контексте.
- По мере развития бизнеса и изменения требований: изменение образа, повторное создание коммита, пересоздание образа и повторное распространение.