Контейнеры в программировании — это единый исполняемый пакет программного обеспечения, который объединяет код приложения со всеми связанными с ним конфигурационными файлами, библиотеками и зависимостями. 5
Некоторые особенности контейнеров:
- Автономность. 4 Контейнер отделяет своё содержимое от операционной системы, благодаря чему приложение становится легко переносимым и может работать на любой платформе. 4
- Изоляция. 2 Контейнеры изолируют приложения и их зависимости, что позволяет избежать конфликтов между разными проектами. 2
- Контроль ресурсов. 4 Контейнеры используют для контроля ресурсов, за которые различные программные процессы могут конкурировать, например, объёма памяти или ресурсов процессора. 4
Выделяют два основных типа контейнеров: 1
- Контейнеры приложений. 1 Используются для организации работы микросервисов с горизонтальной масштабируемостью. 1 Внутри каждого контейнера такой архитектуры запускается один процесс. 1
- Контейнеры операционной системы. 1 Близки по особенностям работы к виртуальным машинам. 1 Нужны, чтобы хранить операционную систему и запускать несколько процессов одновременно. 1
Процесс упаковки программного кода в контейнеры называется контейнеризацией. 1