Я пытаюсь докеризировать проект 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
Как описано в Запуск настольных приложений в Docker.
помимо установки переменной отображения (различной в зависимости от хостовой ОС) необходимо разрешить доступ к X-серверу (xhosts +
в Linux/Ubuntu). В моей настройке отсутствовало это разрешение xhosts +
, и теперь оно работает.
да, просто нажмите на ссылку выше в моем ответе
Я пытаюсь достичь той же цели. Тесты селена на основе Python в devcontainer. Но я все еще борюсь. У вас есть какие-либо ссылки, которые объясняют, что вы сделали?