Невозможно запустить программу GUI в контейнере Docker на удаленном сервере. - PullRequest
0 голосов
/ 10 марта 2020

Моя рабочая машина в офисе - Ubuntu 18.04, и я установил Docker контейнер на эту машину. Все работает нормально, и я могу использовать программы Graphi c пользовательского интерфейса (GUI), такие как Firefox и PyCharm в контейнере Docker. Когда я работаю дома, я использую свой ноутбук Windows 10, а для подключения своей рабочей машины в офисе я использую программу X2 Go. С помощью этой программы я могу удаленно подключить аппарат в моем офисе с помощью GUI. Я также могу запускать программы GUI удаленно. Однако при удаленной установке контейнера Docker я не могу использовать программы GUI в контейнере Docker. Причина в том, что для того, чтобы позволить Docker контейнеру обращаться к хост-машине GUI, я использую команду xhost +. Однако при удаленном выполнении этой команды я получил следующую ошибку:

# xhost:  must be on local machine to enable or disable access control.

Если я игнорирую это сообщение об ошибке, я не могу запустить любые программы GUI в контейнере Docker. Любые идеи? Спасибо.

1 Ответ

1 голос
/ 10 марта 2020

Эта статья может помочь: https://www.ibm.com/support/pages/remote-install-websphere-application-server-unix-host

В статье:

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

xhost +

xhost: должен быть на локальном компьютере, чтобы включить или отключить контроль доступа.

Это означает, что эта команда авторизуется только с локальной консоли (например, не в сеансе te lnet).

Далее необходимо экспортировать отображение, чтобы на удаленном компьютере создавались экраны GUI. хост будет отображаться на локальном хосте. Для этого выполните следующую команду на удаленном хосте при входе в систему через сеанс te lnet с локального хоста:

export DISPLAY =

Также ваш протокол удаленного рабочего стола может быть проблемой.

X2 Go использует протокол NX с S SH для безопасности.
Протокол NX использует технологию кэширования, которая может быть частью проблемы. Технологии удаленного рабочего стола могут различаться и могут не работать с docker GUI удаленно.

У меня были похожие проблемы с технологиями удаленного рабочего стола (RDP, VN C et c), когда некоторые или все возможности рабочего стола не видны.

Я предлагаю попробовать VN C (протокол RFB) и посмотрите, работает ли это. RDP - другое решение.

Имейте в виду, что VN C и RDP по умолчанию не очень безопасны, если только вы не используете решение для туннелирования (VPN et c) и шифрования. Существуют VNC со встроенным шифрованием (через S SH), и RDP также предлагает решения для безопасности, но если вы получаете доступ к нему из дома на работу, вы должны убедиться, что ваш менеджер безопасности знает о выбранной вами технологии, которая работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...