Купить Корзина
  • Домены и сайты
  • Облако и IT-инфраструктура
  • Вход

Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

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

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

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

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. Рег.облако
    3. Облачные серверы
    4. Установка программного обеспечения
    5. Что такое Docker и как он работает

    Что такое Docker и как он работает

    В статье мы расскажем о том, что такое Docker. Но чтобы вам было легче понять принципы его работы, сначала дадим определение контейнеризации.

    Что такое контейнеризация

    Контейнеризация — это технология, которая позволяет упаковать приложение со всеми зависимостями в один образ. Такой образ называется контейнером.

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

    что такое докер

    Docker guide: на чем написан Docker

    Контейнеризация лежит в основе Docker и многих других решений. Подробнее о нем мы рассказали ниже.

    Что такое Docker

    Docker — это платформа контейнеризации с открытым исходным кодом. Она была разработана в 2008 году компанией dotCloud. В 2013 году разработчики открыли исходный код Докера для всех желающих. Docker используется для работы на ОС семейства Linux. Если вы хотите пользоваться платформой в другой системе, необходимо создать виртуальную машину с гостевой системой Линукс и установить Докер поверх нее.

    Docker позволяет упаковать приложение в контейнер вместе со всеми зависимостями, а далее — доставить и запустить его на целевой ОС. Контейнеры, которые созданы с помощью Докера, принято называть Докер-контейнерами (Docker containers).

    Пакет программного обеспечения — вот что такое контейнер в Docker. В него входит всё необходимое для запуска приложения: библиотеки, программный код, среда выполнения и др. Также контейнеризация в Докере имеет ряд особенностей.

    Преимущества Docker:

    • надежная изоляция. Контейнеры позволяют изолировать приложения друг от друга и от хостовой операционной системы. Благодаря этому приложения реже конфликтуют между собой;
    • портативность. Контейнеры можно создать и запустить на любой системе, не меняя содержимое. Поэтому запустить приложение проще;
    • возможность управлять версиями. В Докер-контейнерах можно управлять версиями приложений и всех их зависимостей — это облегчает развертывание и обновление приложений;
    • масштабируемость. Докер позволяет добавить мощностей контейнеру, если нагрузка возросла;
    • эффективное использование ресурсов. Контейнеры задействуют в работе ресурсы общей операционной системы. Поэтому настройка гостевой ОС системы не потребуется.

    Недостатки Docker:

    • требовательность к ресурсам. Функционал Docker требует дополнительных ресурсов для быстрой работы. Поэтому, если вы планируете пользоваться этой платформой, необходимо иметь мощное оборудование;
    • необходимость пользоваться оркестратором при работе с крупными приложениями. Оркестратор — это программа, которая позволяет централизованно управлять большим количеством микросервисов. Как правило, один микросервис хранится в одном контейнере. В стандартной сборке Docker Compose существует механизм для управления микросервисами, однако он не справится с их большим количеством. В таких случаях помогает оркестратор: чаще всего используются Kubernetes или OpenShift;
    • сложности при установке на Windows и macOS. Изначально Docker предназначен для установки на ОС Linux. Для работы на остальных системах необходимо создать виртуальную машину, однако это не всегда удается: например, на некоторых устройствах может возникнуть конфликт с гипервизором VirtualBox при попытке установить Докер на Windows.

    Работа с Docker: составляющие платформы

    Docker — это общее название платформы, в состав которой входят компоненты для разработки, тестирования и деплоя приложения. Что это за компоненты:

    • Docker host — это операционная система сервера, на которую установлен Докер;
    • Docker client — интерфейс консоли, через которую можно взаимодействовать с серверной частью Docker. Подробнее об этой составляющей расскажем ниже;
    • Docker daemon — служба для управления объектами Докера. Подробнее об этой составляющей ниже;
    • Docker image — готовый образ приложения, из которого разворачивается приложение;
    • Docker container — развернутое приложение;
    • Docker Registry — репозиторий, в котором хранятся образы приложений;
    • Dockerfile — инструкция по сборке образа;
    • Docker Compose — функционал для управления несколькими контейнерами;
    • Docker Desktop — интерфейс для просмотра всех объектов Docker. Бесплатная версия работает на большинстве популярных операционных систем: Windows, macOS и Linux;
    • Docker Hub — общедоступный репозиторий, из которого можно скачивать готовые образы и загружать собственные.

    Как работает Docker

    Докер работает по принципу «клиент-сервер». Что значит «клиент» и «сервер» в этом случае?

    Клиент — это интерфейс командной строки, через которую работает пользователь. После того как пользователь ввел команду, клиент передает эту информацию серверу.

    Сервер — это фоновый процесс, который управляет контейнерами в Докере. По-другому сервер можно назвать Docker-движком, или демоном. Демон принимает информацию от клиента и выполняет заданную команду.

    Зачем нужен Docker

    Докер часто используется для разработки новых приложений. Ниже мы приведем примеры использования этой платформы на практике.

    Создание приложения с зависимостями

    Если при стандартном создании приложения необходимо добавить библиотеку или СУБД, разработчику необходимо установить и настроить ее самостоятельно. Когда возникает потребность в том, чтобы заменить зависимость, требуется удалить прежнюю и настроить новую. При этом все действия выполняются вручную.

    В случае с Docker настройка зависимостей происходит по-другому: готовые образы ПО публикуются на Docker Hub (о том, что это такое, мы писали выше). Любой из этих образов можно развернуть в Docker, а после работы с ним — остановить или удалить. После удаления образа в операционной системе не останется следов его использования.

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

    Автотестирование приложения

    Для запуска автотестов требуются дополнительные зависимости — зачастую это системы управления базами данных, брокеры сообщений и др. Перед тестированием их нужно установить и настроить на сервере вручную. В этом случае есть вероятность ошибки и повреждения данных — это повлечет за собой проблемы в работе сервера.

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

    Публикация готового приложения

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

    Среда для деплоя (запуска) приложения становится универсальной для всех типов приложений, так как работает с идентичными контейнерами.

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

    Помогла ли вам статья?

    Спасибо за оценку. Рады помочь 😊

     👍
    Специальные предложения
    • Бесплатный хостинг для сайта
    • Дешевый хостинг
    • Бесплатный VPS-сервер
    • Дешёвые VPS
    Рассылка Рег.ру

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Домены и сайты
    • Домены
    • Хостинг
    • Создание сайтов
    • SSL-сертификаты
    • VPS и VDS серверы
    • Whois
    • Магазин доменов
    Облако
    и IT-инфраструктура
    • Облачные серверы
    • Частное облако
    • Облачное хранилище
    • Kubernetes в облаке (K8S)
    • Облачные базы данных
    • Выделенные серверы
    Полезное
    • Стоимость услуг
    • Cпособы оплаты
    • База знаний
    • Документы
    • ЭДО
    • Партнерам
    • Сообщить о нарушении
    • РБК: новости России и мира сегодня
    • Новости компаний РФ
    • РБК Инвестиции: курсы валют
    Компания
    • О компании
    • Контакты
    • Офисы
    • Новости
    • Акции и скидки
    • Блог
    • Отзывы клиентов
    8 800 555-34-78 Бесплатный звонок по России
    +7 495 580-11-11 Телефон в Москве
    • vk
    • telegram
    • ok
    • moikrug
    • youtube
    • twitter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
    • © ООО «РЕГ.РУ»
    • Политика конфиденциальности
      Политика обработки персональных данных
      Правила применения рекомендательных технологий
      Правила пользования
      и другие правила и политики
    • Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера