Как запустить любое ПО с графическим интерфейсом в Docker?

Вы, конечно, прекрасно знаете, что такое docker и контейнеры и даже как развернуть модель машинного обучения в docker? Но есть еще один интересный вопрос: как запустить и открыть любое приложение с графическим интерфейсом в docker? Похоже, это не так просто. Но сейчас мы со всем разберемся…

В статье мы пройдем этот процесс, выполнив несколько этапов.

Описание этапов:

Запуск контейнера в docker в режиме графического интерфейса.

Запуск любого ПО с графическим интерфейсом в контейнере.

Итак, приступим…

Первым делом установим docker в компьютере, используя такую команду:

yum install docker

Затем нужно запустить и включить службу «Docker». Делается это следующими командами:

systemctl start docker

systemctl enable docker

Теперь добавляем образ:

docker pull centos:8

Здесь мы добавляем образ операционной системы Centos 8-й версии.

Теперь запустим контейнер Docker…

Здесь с помощью параметра -it в интерактивном терминале задается название контейнера, в нашем случае это «vedantos».

Синтаксис команды:

docker container run -it — name=<any name> centos:8

Теперь нужно установить firefox в контейнере:

Для этого используем команду

yum install firefox -y

Как думаете, будет работать наш firefox или нет? Правильно! Конечно же, нет.

Посмотрите:

Видите здесь ошибку с переменной окружения DISPLAY? Нужно задать эту переменную окружения.

Переходим на localhost и выполняем следующие команды (чтобы продолжить, нам нужно создать каталог, а затем Dockerfile):

Здесь мы создали каталог doraemon и внутри него Dockerfile.

Внутри Dockerfile нужно ввести следующие команды:

Создадим его…

docker build -t firefox .

Эта точка в конце тоже важна для выполнения всех команд, так что не забываем ставить ее:

Образ firefox находится среди образов docker в списке отображения:

Теперь для доступа к firefox вводим:

docker container run -it — env=”DISPLAY” — net=host firefox

и после выполнения этой команды вот что у нас получится:

Вот и все, теперь firefox запускается в контейнере Docker.

Спасибо за внимание🙂.

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи VEDANT JORE: How We Can Run Any GUI Software On Docker?

Предыдущая статьяJavaScript: 5 нововведений 2021 года
Следующая статьяGoogle OAuth для реализации на Ruby