Заведение контейнерной инфраструктуры, может быть достаточно длительным процессом частью, которого является инсталляция и конфигурация сервисов. Для малых и средних проектов это может занять время, а обучение специалистов работе с CLI клиентом для делегирования обязанностей может затянуться. С целью уменьшить порог входа и сделать Docker более доступным было разработано решение Docker Desktop. В прошлом материале мы разобрали процесс инсталляции и разбор требований к платформе, обязательно посмотрите его, если вы не установили Docker Desktop. В данном руководстве рассмотрим работу и конфигурацию продукта Docker Desktop.
Что такое Docker Desktop?
Docker Desktop – это продукт компании Docker для развертывания готовых приложений и сервисов с упакованными зависимостями на основе контейнерного решения с модулями, обеспечивающими полный цикл доставки и интеграции ПО.
Это значит, что в ОС создается такая же файловая, сетевая, процессорная среда, которая на логическом уровне отделена от основной, в виде ограниченного процесса. Внутрь загружается базовая ОС с минимальным набором утилит для работы, сборка решения осуществляется на основе нее, поэтому система априори не зависит от ОС хоста и используется общее ядро.
На представленной схеме, кратко описана работа сервиса, где клиент посылает демону команду, а тот в свою очередь создает изолированные среды или же контейнеры, на основе выбранных образов. Следовательно, физическое устройство можно «раздробить» и использовать множество сервисов, систем и приложений на одном устройстве. Единственное, что их будет связывать – это ядро хостовой ОС. Как работать с Docker Desktop?
Как работать с Docker Desktop?
Откроем приложение и рассмотрим окно с панелью управления, слева представлены основные блоки для работы:
- Контейнеры, список остановленных и запущенных, а так же их конфигурация и управление;
- Образы, локальный репозиторий из скачанных или собранных образов, а так же внешние источники;
- Тома, отделенные файловые среды, которые позволяют вместо мэппинга хост диска использовать изолированную среду с файлами;
- Сборщик, соберет все необходимые зависимости в один автоматизированный образ;
- Docker Scout сканер контейнеров на уязвимости;
- Расширения для контейнеров.
И все представлено в единой панели управления, данных подход оптимизирует и ускоряет работу с сервисами и приложениями. Первым этапом, при работе с контейнерами является сборка или скачивание готового образа, прейдем во вкладку Images.
На данной панели пока пусто, скачаем образ nginx из репозитория Docker. Для этого нажмем Search images to run и впишем название сервиса. В выпадающем списке выберем необходимое и скачаем образ.
Контейнер представлен в виде строки с названием, идентификатором и тегами, так же статусом и остальными мета-данными. Справа представлены кнопки управления. В классическом представлении существовал файл docker-compose.yml или же список настроек для запуска образа в контейнере, теперь список автоматически создается и опционально изменяем, при запуске контейнера.
Можно задать кастомное имя контейнера, пробросить соответствующие порты, а так же подключить тома с файлами и переменные среды для работы или же оставить все по умолчанию. Запустим контейнер и войдем в него, для этого нажмем кнопку пуск и перейдем во вкладку Containers, где выберем запущенный с нашим названием. Вкладка Exec, позволяет подключиться к терминалу самого контейнера и выполнить команды.
Так же возможно увидеть логи работы, подключенные файлы, порты, статистику и провести и сканирование контейнера на наличие уязвимостей.
Все действия были выполнены в среде облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:
Практически везде вводят метод Vulnerability Management, как раз для управления и патчей был разработан инструмент Docker Scout. Инспекцию можно провести из окна контейнера во вкладке Inspect в ручную, либо слева на панели выбрать инструмент Scout.
Инструмент анализирует содержимое контейнера в виде исполняемых файлов ПО, конфигов и Docker File, в котором хранятся Docker Layers. На основе версий найденного и используемого ПО производит поиск по БД CVE и предлагает обновить уязвимое ПО. Для того, чтобы минимизировать взаимодействие с хостовой системой, можно создать виртуальный том. Для этого перейдем во вкладку Volumes и по тому же принципу создадим том.
В данной панели возможен импорт файлов в том, использование подключение контейнеров к тому, клонирование, бэкапы. Все это позволяет создать единое хранилище для многих сервисов или наоборот изолированные среды с файлами для каждого из контейнеров. Все эти сценарии возможны, благодаря гибкой функции виртуальных томов. Так же, обратите внимание, что слева снизу представлена панель управления Docker Engine, в которой возможно управление демоном.
Слева сверху есть шестеренка, которая позволяет настроить сети, проксирование и использование ресурсов в Docker. Ползунками интерактивно можно определить рамки для использования ресурсов на хостовой ОС, если в этом есть необходимость. Так же есть функция энергосбережения, которая позволяет уменьшить нагрузку на ЦП и снизить потребление ОЗУ.
Данный продукт позволит быстро создать необходимую инфраструктуру контейнеров и делегировать задачи начинающим специалистам. Пункты Kubernetes и Docker Build подробно можно рассмотреть в отдельных руководствах базы знаний!