Запуск приложения с графическим интерфейсом (Firefox) при разработке VS Code внутри контейнера Docker

Я пытаюсь докеризировать проект Python, который использует селен с Firefox (версия с графическим интерфейсом, а не без головы). Цель состоит в том, чтобы предоставить полностью докеризованную среду разработки, внутри которой можно было бы также разрабатывать, используя поддержку VS Code для разработки внутри контейнеров Docker. Я использую образ ubuntu:18.04 на хосте Ubuntu 18.04.

Я экспортировал отображаемую переменную, используя dockerfile.json:

"containerEnv": {
    "DISPLAY": "${localEnv:DISPLAY}"
}

Тем не менее, я все еще получаю следующую ошибку при запуске firefox из bash внутри моего контейнера:

root@af414fe6783f:/workspaces/my_project# firefox

(firefox:242): Gtk-WARNING **: 21:59:09.711: Locale not supported by C library.
        Using the fallback 'C' locale.
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0

вызов env изнутри консоли приводит к:

DISPLAY=:0
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
2
0
934
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как описано в Запуск настольных приложений в Docker. помимо установки переменной отображения (различной в зависимости от хостовой ОС) необходимо разрешить доступ к X-серверу (xhosts + в Linux/Ubuntu). В моей настройке отсутствовало это разрешение xhosts +, и теперь оно работает.

Я пытаюсь достичь той же цели. Тесты селена на основе Python в devcontainer. Но я все еще борюсь. У вас есть какие-либо ссылки, которые объясняют, что вы сделали?

Tobi 03.08.2022 18:11

да, просто нажмите на ссылку выше в моем ответе

d56 04.08.2022 10:29

Другие вопросы по теме