Docker — ПО для автоматизации развёртывания и управления контейнеризованными приложениями.

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

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

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

Kubernetes применяется для автоматизации развёртывания, масштабирования и управления контейнеризированными приложениями.

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

Узнать больше →

Тематические технологии:

Веб-сервер NGINX
Red Hat Enterprise Linux
CentOS
Система управления конфигурациями Ansible
Колоночная СУБД Cassandra
Колоночная СУБД Scylla
PostgreSQL — объектно-реляционная СУБД
СУБД Redis

Cтатьи по теме:

Серверное программное обеспечение
На серверах устанавливается программное обеспечение, которое требуется для работы сайта и других служб домена, для обслуживания и мониторинга, а также для защиты от взлома и устойчивости к нагрузкам.
Ускоряем работу сайта, используя быстрый и надёжный веб-сервер nginx
nginx — это простой, быстрый и надёжный сервер. Применение nginx очень эффективно для отдачи статического контента и в качестве прокси-сервера перед динамическими сайтами.
Веб-сервер Apache
Apache — это HTTP-сервер. Основными достоинствами считаются надёжность и гибкость конфигурации.
Контейнерная виртуализация в Linux — OpenVZ и LXC
Контейнерная виртуализация или виртуализация на уровне операционной системы — это метод виртуализации, при котором ядро операционной системы поддерживает несколько изолированных экземпляров пространства пользователя, вместо одного. Это снижает накладные расходы и позволяет использовать виртуализацию наиболее эффективно.
Хостинг сайтов и веб-приложений
Это услуга по предоставлению дискового пространства и вычислительных ресурсов на сервере, постоянно находящемся в сети интернет. Обычно под понятием услуги хостинга подразумевают как минимум услугу размещения файлов сайта на сервере, на котором запущено ПО, необходимое для обработки запросов к этим файлам (веб-сервер).
Виртуальный хостинг — экономное решение, но практически без гарантий
Виртуальный хостинг — самый экономичный, но при этом и наименее надёжный вариант размещения сайта. Его достаточно только для размещения простых ненагруженных веб-сайтов, для которых не особо важны производительность и отказоустойчивость.
Виртуальный выделенный сервер (VPS или VDS)
Для небольших проектов это оптимальный вариант по соотношению «цена / качество». Клиенту предоставляется виртуальная машина с гарантией выделения места на диске, оперативной памяти и процессорного времени сервера.