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

#docker #ubuntu #visual-studio-code #vscode-remote

#docker #ubuntu #visual-studio-code #vscode-удаленный

Вопрос:

Я пытаюсь настроить проект python, который использует selenium с 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
 

Ответ №1:

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

Комментарии:

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

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