Вы, конечно, прекрасно знаете, что такое 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.
Спасибо за внимание🙂.
Читайте также:
- Почему Dockerfile больше не нужен для создания контейнера в Go
- Меньше образы Docker => быстрее CI-конвейер
- Как использовать Laravel Sail с бэкендом Docker Desktop на WSL 2
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи VEDANT JORE: How We Can Run Any GUI Software On Docker?