Container

Контейнеры представляют собой альтернативный тип виртуализации, который состоит в использовании изолированной среды для исполнения приложений. Реализация контейнеров достигается использованием изолированного пространства, которое содержит все необходимые компоненты: от системных инструментов до библиотек. Данные ресурсы принято называть виртуализированными именами. Со всеми компонентами контейнера поддерживается взаимодействие, но ограничивается выход за их пределы. Иначе говоря, операционная система дает использовать только маркированные компоненты.

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

Между технологиями виртуальных машин (ВМ) и контейнерами есть важное отличие. Контейнеры не работают со сторонними системными файлами и инструментами, тогда как ВМ используют отдельный пул ресурсов со своей ОС. Для того, чтобы работать с контейнером потребуются только ресурсы, в остальном же процесс больше похож на шэринг компонентов операционной системой. Это дает контейнером преимущество относительно ВМ не только в скорости запуска, но и в степени нагрузки системы, особенно во время запуска.

Контейнеры могут обладать спецификацией по-определенному API или ОС. Например, контейнеры Linux не будут работать без Linux API, поэтому для Windows они будут малопригодны.

Чтобы управлять контейнерами, можно использовать PowerShell (позволяет работать только с локальным репозиторием), который постепенно теряет популярность или Docker. Между Microsoft и Docker существует соглашение, по которому все команды управления актуальны и для контейнеров Win, и для Linux.

Остались вопросы? Задайте их нашему эксперту и получите квалифицированную помощь