Изучите основы докера и запустите приложение с графическим интерфейсом поверх докера
Название статьи говорит само за себя. Прежде чем переходить к практическому применению, позвольте нам узнать, какие термины используются в названии.
Что такое докер?
Давайте быстро посмотрим, что такое Docker.
Docker - это инструмент, предназначенный для упрощения создания, развертывания и запуска приложений с использованием контейнеров. Контейнеры позволяют разработчику упаковать приложение со всеми необходимыми ему частями, такими как библиотеки и другие зависимости, и развернуть его как один пакет.
Docker способен создавать образы, которые можно использовать в любое время на более поздних этапах. Docker запускается поверх базовой операционной системы, в основном он поддерживает приложения без графического интерфейса. Это дает вам черный экран, известный как CLI.
Что такое приложение с графическим интерфейсом?
Термин GUI здесь означает графический интерфейс пользователя. То есть он действует как интерфейс между пользователем и системой и взаимодействует с помощью графических изображений, в отличие от текстовых команд.
Можете ли вы запустить приложение с графическим интерфейсом поверх Docker?
ДА.
Да, ты можешь. Поскольку докер запускает контейнер (считайте его новой операционной системой) над базовой ОС (например, Linux), он по умолчанию предоставляет пользователю CLI (интерфейс командной строки). Для запуска приложения с графическим интерфейсом нам нужны определенные драйверы дисплея, присутствующие в локальной системе, для совместного использования с контейнером.
Технофаки в основном используют CLI для своей работы, но использование небольшой графики точно не повредит. Давайте добавим веселья вашему докеру.
Создание образа:
Первый шаг включает создание образа с помощью DockerFile. Здесь мы установим программные требования для графического интерфейса. Кроме того, установите приложение, для которого требуется графический интерфейс.
Создать DockerFile
Здесь мы запустим два приложения с графическим интерфейсом пользователя: Firefox и gedit. Кроме того, мы установили libcanberra-gtk2: (Libcanberra - это реализация спецификации звуковой темы и имени XDG для генерации звуков событий) и packagekit-gtk3-module: (PackageKit - это система, предназначенная для установки и обновления программного обеспечения на ваш компьютер проще. Основная цель разработки - унифицировать все графические инструменты программного обеспечения)
Создайте файл
Следующим шагом является создание образа, добавив к нему имя пользователя вашей учетной записи Docker Hub. Используйте команду в красном поле, чтобы создать свой образ.
Вы можете отправить образ в свою учетную запись Docker Hub и при необходимости вытащить его.
Изображение доступно в базовой системе. Следующим шагом будет запуск контейнера с этим изображением после некоторых дополнительных аргументов.
Запускаем контейнер:
Чтобы запустить контейнер, мы добавляем аргументы, поскольку любое приложение с графическим интерфейсом пользователя требует наличия XServer: (X Window System (также известная как X11 или просто X) - это оконная система клиент / сервер для отображения растровых изображений.) который доступен как часть каждой среды Linux, а не в контейнере докеров
поделитесь XServer хоста с контейнером, создав том
--volume="$HOME/.Xauthority:/root/.Xauthority:rw"
передать контейнеру переменную среды DISPLAY хоста
--env="DISPLAY"
запустить контейнер с сетевым драйвером хоста с
--net=host
За этой командой следует предупреждение, которое можно проигнорировать.
Выход
После выполнения указанной выше команды мы попадаем в контейнер докеров и открываем приложение firefox с графическим интерфейсом.
Вы также можете запустить gedit, потому что мы встроили его в образ. gedit - текстовый редактор с графическим интерфейсом наподобие блокнота.
Надеюсь, вам понравилась эта короткая статья и вы узнали что-то новое. Оставьте несколько хлопков, чтобы выразить немного любви, и ждите новых статей.